我刚刚发现我的django-admin.py命令出了问题。我查了关于django-admin.py问题的类似SO帖子,但似乎与我的问题没什么关系。我使用Windows Vista(是的,我知道......)。我的磁盘上的某个文件夹中也有很多版本的django,我使用junction命令切换到我需要的版本(这类似于unix中的符号链接),我没有遇到问题而且从来没有遇到过问题之前。
之前我曾多次使用过django-admin.py但现在因为一些不明原因我得到了这个信息(Django 1.1.1):
C:\>django-admin.py startproject some_project
Type 'django-admin.py help' for usage.
令人惊讶的是,当我输入django要求我输入的内容时:
C:\>django-admin.py help
Type 'django-admin.py help' for usage.
????
当我切换到Django 1.2.1时,我得到了这个:
C:\>django-admin.py startproject help
Usage: django-admin.py subcommand [options] [args]
Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=all output
--settings=SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath=PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Print traceback on exception
--version show program's version number and exit
-h, --help show this help message and exit
Type 'django-admin.py help <subcommand>' for help on a specific subcommand.
Available subcommands:
cleanup
compilemessages
createcachetable
...
startproject
...
validate
无论我输入startproject help
还是startproject some_name
,它都会显示相同的消息。
有什么想法吗?
编辑:新信息
我刚刚注意到,当命令被django管理器解析时,我的命令行参数不可见(当我打印命令argv时,它只显示django-admin.py的路径而没有任何给定的参数)
答案 0 :(得分:8)
我的问题是我丢失了.py文件关联规则。
如果您遇到类似问题,可以在命令行中检查结果是什么:
assoc .py
如果没有这样的关联,您需要创建它:
assoc .py=Python.File
并为Python创建规则。文件:
ftype Python.File="c:\python27\python.exe" "%1" %*
(替换为你的python解释器的路径。)
现在django-admin.py接受命令行参数,一切正常!
答案 1 :(得分:0)
这样会更好,因为它根本不需要触摸注册表: