manage.py不会将参数传递给命令

时间:2013-03-31 10:09:41

标签: django manage.py

尝试创建迁移时遇到问题。 manage.py以一种非常奇怪的方式运行 - 它需要为schemamigration提供的参数和我提供的不存在选项的答案。

当我跑步时

# ../manage.py schemamigration locations --initial

我得到了

Usage: manage.py [options]

manage.py: error: no such option: --initial

修改 当我将任何参数传递给任何manage.py命令(例如

)时,我遇到了同样的问题
../manage.py runserver --settings=app.settings

之前我做过很多次,我从来没有遇到过这样的问题。它在我的本地服务器上运行,当我尝试配置远程服务器时,我遇到了这个问题。

我的manage.py文件如下所示:

#!/usr/bin/env python
import os
import sys

def isProduction():
    import socket
    if socket.gethostname().startswith('ip'):
        return True
    return False

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")
    if isProduction():
        os.environ.setdefault('DJANGO_CONFIGURATION', 'ProdSettings')
    else:
        os.environ.setdefault('DJANGO_CONFIGURATION', 'DevSettings')

    from configurations.management import execute_from_command_line

    execute_from_command_line(sys.argv)

我使用django-configurations,但它不应该导致任何问题(它之前已经工作了几次)。我认为问题出在其他地方。 什么可以导致这样一个奇怪问题的想法?

2 个答案:

答案 0 :(得分:1)

我不知道为什么但事实证明问题出在0.2版本中使用django-configurations。

使用Django切换到1.4.2并将django-configurations切换为0.1解决了这个问题。

答案 1 :(得分:0)

我试图修复此问题。请参阅Github问题https://github.com/jezdez/django-configurations/issues/21