django-admin.py仅打印帮助

时间:2012-02-02 04:31:48

标签: python django

我正在使用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 个答案:

答案 0 :(得分:7)

我有完全相同的问题并使用此工具解决了它: 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时,你会发现只有一个参数被传递。哪个不对。

正如在几个论坛中所建议的那样,我在命令行中尝试了以下两种方法,并且两者都看得很清楚:

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

然后我查看了注册表,其值也​​很好。

然而,当我跑FileTypesManager时,(它是免费的)它显示了不同的东西。命令行设置为:

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

我不知道为什么,但是一旦我更新了这个值,它就能完美无缺地工作。

我希望有所帮助。

答案 1 :(得分:3)

如果您使用的是Windows 7,请在以下位置更新注册表项:

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

有值:

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

(如果已在其他位置安装了python,请修改上述值)

答案 2 :(得分:1)

根据中的注册表 HKEY_CURRENT_USER \ Software \ Classes下\应用\ python.exe \壳\开放\命令
修改

中的条目
"<your drive>:\Python<version>\python.exe" "%1"

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

我遇到了同样的问题,我就这样解决了。

答案 3 :(得分:1)

如果有人仍有此问题,则无需弄乱您的注册表。以下是您需要的答案:here

基本上是:

  

在django-admin.py之前添加'python'(或添加python.exe的完整路径)。

     

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

这意味着您正在运行django-admin.py作为python解释器的争论;与将其作为独立脚本运行相反,在这种情况下,由于某种原因它实际上并没有获得所提供的参数。

答案 4 :(得分:0)

尝试提供项目目录的完整路径,即使它位于PATH

答案 5 :(得分:0)

  1. 打开注册表
  2. 转到HKEY_CURRENT_USER \ Software \ Classes \ py_auto_file \ shell \ open \ command
  3. 更改为&#34; C:\ Python27 \ python.exe&#34; &#34;%1&#34; %*
  4. 它对我有用。