django-admin.py распечатки помогают только - PullRequest
7 голосов
/ 02 февраля 2012

Я использую django 1.3.1

Я следовал интерактивному руководству и пытался использовать "django-admin.py startproject mysite".

Но я всегда получаю это:

D:\Code\djtest>django-admin.py startproject mysite
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
(...)

Что происходит?

Ответы [ 6 ]

7 голосов
/ 22 августа 2012

У меня была точно такая же проблема, и я решил ее с помощью этого инструмента: FileTypesManager

Проблема в том, что django-admin.py не получает правильные аргументы из командной строки. Я сделал тест, взломав пару строк в начале сценария администратора, чтобы отобразить количество аргументов и их значения, прежде чем он сделает что-либо еще. Взломать:

    #!d:\python27\python.exe
    from django.core import management
    import sys
    print 'Number of arguments:', len(sys.argv), 'arguments.'
    print 'Argument List:', str(sys.argv)

    if __name__ == "__main__":
       management.execute_from_command_line()

Когда вы запустите django-admin.py, вы увидите, что передается только 1 аргумент. Что не правильно.

Как предлагалось на нескольких форумах, я попробовал оба из следующих команд в командной строке, и оба посмотрели на:

    assoc .py            -->  .py=Python.File
    ftype Python.File    -->  Python.File="D:\Python27\python.exe" "%1" %*   //Correct

Затем я посмотрел в реестре, и значения выглядели также хорошо.

Однако, когда я запустил FileTypesManager , (это бесплатно) он показал что-то другое. Командная строка была установлена ​​как:

   "D:\Python27\python.exe" "%1"      //Wrong!

Понятия не имею почему, но как только я обновил это значение, все заработало безупречно.

Надеюсь, это поможет.

3 голосов
/ 29 декабря 2013

Если вы работаете в Windows 7, обновите запись реестра по адресу:

HKEY_CLASSES_ROOT\Applications\python.exe\shell\open\command

иметь значение:

"C:\Python27\python.exe" "%1" %*

(измените указанное выше значение, если вы установили python в другом месте)

1 голос
/ 02 октября 2014

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

По сути это:

Добавьте 'python' перед django-admin.py (или добавьте полный путь к python.exe).

C: \ Shekhar \ djangoWorld> python c: \ Python27 \ Scripts \ django-admin.py startproject mysite

Это означает, что вы работаете с django-admin.py как аргумент интерпретатору python;в отличие от запуска его как автономного скрипта, в этом случае он по какой-то причине не получает поставленных аргументов.

1 голос
/ 09 апреля 2013

В regedit в
HKEY_CURRENT_USER \ Software \ Classes \ Applications \ python.exe \ shell \ open \ command
изменить запись с

"<your drive>:\Python<version>\python.exe" "%1"

на

"<your drive>:\Python<version>\python.exe" "%1" %*

У меня была такая же проблема, и я решил ее таким образом.

0 голосов
/ 13 марта 2014
  1. Открыть regedit
  2. Перейти к HKEY_CURRENT_USER \ Software \ Classes \ py_auto_file \ shell \ open \ command
  3. изменить на "C: \ Python27 \ python.exe" "% 1"% *

У меня это работает.

0 голосов
/ 23 июля 2012

Попробуйте указать полный путь к каталогу проекта, даже если он находится в вашем PATH

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