2009-07-14 4 views
0

Задача: - выполнить one.py с сервера.Запуск кода Python с сервера?

Ошибка

Когда я пытаюсь сделать это в 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 с сервера?

+0

У вас есть два совершенно разных набора ответов, потому что есть две разные интерпретации того, что вы хотите сделать. Можете ли вы сделать это немного понятнее? –

+0

Hank Gay: Я не уверен в различии. Можете ли вы уточнить свое наблюдение? –

+1

Первая интерпретация заключается в том, что где-то есть сценарий Python, который вы хотите выполнить. Это вызвало ответ wget. Вторая интерпретация заключается в том, что у вас есть сервер, и вы хотите использовать скрипт Python для создания динамического веб-контента. Это вызвало ответы CGI и веб-инфраструктуры. –

ответ

3

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

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

UPDATE: На основе question ссылки в комментарии к this answer, вы должны выполнить one.py на основе входящих запросов HTTP от конечных пользователей. Простейшим решением является, вероятно, CGI, но в зависимости от того, что еще вам нужно сделать, более надежное решение может включать в себя framework. У каждого из них есть свои сильные и слабые стороны, поэтому вы должны, вероятно, внимательно изучить свои требования перед тем, как прыгать.

3

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

+0

Вы имеете в виду, как django? –

1

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

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

+0

Я пытаюсь решить свою проблему здесь: http://stackoverflow.com/questions/1122609/javascript-for-a-form-on-the-server-side. Я хочу сделать это с Python. –

1

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

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

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

+0

Ты имеешь в виду, мне нужна вещь, называемая «каркас», о которой говорит Джаред. –

+0

Ну, он не должен быть «каркасом», но вам нужно настроить сервер для выполнения кода python на стороне сервера. Рамки могут облегчить работу, если у них есть библиотеки, чтобы делать то, что вы хотите сделать. С другой стороны, у вас могут быть очень простые требования. – Christopher

1

Возможно, что-то вроде этого?

python -c "import urllib; eval(urllib.urlopen(\"http://cs.edu.com/u/user/TEST/one.py").read())" 
+0

Мне нравится этот ответ. Вероятно, это не то, что пользователь действительно хочет, но он напрямую отвечает на вопрос. –

+0

Это urlopen, а не ulropen> P Это опечатка, извините ... –

+1

Также вы можете использовать это, чтобы создать свой собственный скрипт, который впоследствии можно использовать для запуска скриптов с другого сервера или, возможно, встроить его в другой скрипт. . –

1

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

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

python one.py 

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

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

Смежные вопросы