Запуск кода Python с сервера? - PullRequest
0 голосов
/ 14 июля 2009

Проблема: для запуска one.py с сервера.

Error

Когда я пытаюсь сделать это в Mac, я получаю ошибки:

$python http://cs.edu.com/u/user/TEST/one.py                       ~ 
/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python: can't open file 'http://cs.edu.com/u/user/TEST/one.py': [Errno 2] No such file or directory

one.py похож на:

print 1

Когда я делаю это в Ubuntu, я получаю «файл не найден».

Вопрос: Как запустить код Python с сервера?

Ответы [ 7 ]

3 голосов
/ 14 июля 2009

Вы не можете сделать это. Если у вас есть SSH-доступ к серверу, вы можете запустить скрипт python, расположенный на сервере, используя ваше SSH-соединение. Если вы хотите создавать веб-сайты на python, то в google python для веб-фреймворков приведены примеры того, как создавать и запускать веб-сайты с помощью Python.

3 голосов
/ 14 июля 2009

Насколько я знаю, стандартная оболочка Python не знает, как выполнять удаленные сценарии. Попробуйте использовать curl или wget, чтобы получить скрипт и запустить его из локальной копии.

$ wget http://cs.edu.com/u/user/TEST/one.py
$ python one.py

ОБНОВЛЕНИЕ: На основе вопроса , указанного в комментарии к этого ответа , вам необходимо выполнить one.py на основе входящих HTTP-запросов от конечных пользователей. Самым простым решением, вероятно, является CGI , но в зависимости от того, что еще вам нужно сделать, более надежное решение может включать в себя framework некоторого рода. У каждого из них есть свои сильные и слабые стороны, поэтому вам, вероятно, следует тщательно обдумать свои требования, прежде чем прыгать.

1 голос
/ 14 июля 2009

ОК, теперь, когда вы объяснили, вот новый ответ.

Вы запускаете этот скрипт с

 python one.py

Это серверный скрипт. Он запускается на сервере. Он также находится на сервере. Почему вы пытаетесь получить к нему доступ через http, я не знаю. Запустите его из файловой системы.

Хотя, вам, вероятно, стоит взглянуть на запуск Grok, Django или чего-то еще. Таким образом, вы просто в конечном итоге напишите свой собственный веб-фреймворк Python, вы можете использовать тот, который существует вместо этого. ;)

1 голос
/ 14 июля 2009

Может как то так?

python -c "import urllib; eval(urllib.urlopen(\"http://cs.edu.com/u/user/TEST/one.py").read())"
1 голос
/ 14 июля 2009

Интерпретатор Python не знает, как читать с URL. Файл должен быть локальным.

Однако, если вы пытаетесь заставить сервер выполнить код Python, вы можете использовать mod_python или различные виды CGI.

Вы не можете делать то, что вы пытаетесь сделать так, как вы пытаетесь это сделать.

1 голос
/ 14 июля 2009

Вы можете смонтировать каталог удаленных серверов с какой-либо файловой сетью, например, NFS или чем-то еще. Таким образом, он становится локальным.

Но лучшая идея заключается в том, что вы объясняете, почему вы пытаетесь это сделать, чтобы мы могли найти реальный вариант использования. Скорее всего, существует множество лучших решений, в зависимости от реальной проблемы.

1 голос
/ 14 июля 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...