Проблемы запуска сценариев Python в командной строке (в частности, с аргументами командной строки)? - PullRequest
4 голосов
/ 13 марта 2010

Я пытаюсь запустить свои скрипты python в командной строке без предварительного вызова python.exe. Я специально делаю это в связи с запуском django-admin.py. У меня есть C: \ Python26 и C: \ Python26 \ Scripts в моем PATH. Однако, если я попытаюсь запустить django-admin.py, выполнив:

django-admin.py startproject helloworld

Я получаю сообщение: введите 'django-admin.py help' для использования.

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

python C: \ Python26 \ Scripts \ django-admin.py startproject helloworld

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

Обновление: ассоциации файлов .py установлены правильно, и проблема все еще возникает.

Ответы [ 2 ]

4 голосов
/ 13 марта 2010

Проверьте assoc и ftype. При правильной настройке вы можете запустить .py с аргументами.

> assoc .py
.py=Python.File
> ftype Python.File
Python.File="C:\Python26\python.exe" "%1" %*

В зависимости от того, как установлен ваш Python, они могут быть или не быть на месте. Вы можете установить их с помощью assoc и ftype.

> assoc .py=Python.File
> ftype Python.File="C:\Python26\python.exe" "%1" %*

Также, если .py включен в переменную окружения PATHEXT, вы можете запускать .py файлы без завершающего .py.

> set PATHEXT=%PATHEXT%;.py
> django-admin startproject helloworld
1 голос
/ 05 января 2011

Я знаю, что это старая ветка, но я искал ту же самую проблему в течение нескольких недель и ничего не нашел. Однако сегодня я попробовал что-то новое:

Если вы используете Windows 7, не используйте командную строку для сценариев.

Вместо этого используйте Windows PowerShell, расположенный по адресу: All Programs -> Accessories -> Windows PowerShell -> Windows PowerShell. Там вы можете запустить команду django-admin.py startproject mysite, если вы добавили правильные пути к вашим путям окружения.

Кстати, я сейчас использую Python 2.7 с Django 1.2.4 в Windows 7 Ultimate 32bit.

...