Django 1.5b1:执行django-admin.py导致"没有模块命名设置"错误

sul*_*tan 14 python django macos django-1.5

我最近安装了Django-1.5b1.我的系统配置:

  • OSX 10.8
  • Python 2.7.1
  • Virtualenv 1.7.2

当我调用django-admin.py命令时,我收到以下错误

(devel)ninja Django-1.5b1: django-admin.py 
Usage: django-admin.py subcommand [options] [args]

Options:
  -v VERBOSITY, --verbosity=VERBOSITY
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose 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
Traceback (most recent call last):
  File "/Users/sultan/.virtualenvs/devel/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 452, in execute_from_command_line
    utility.execute()
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 375, in execute
    sys.stdout.write(self.main_help_text() + '\n')
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 241, in main_help_text
    for name, app in six.iteritems(get_commands()):
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 108, in get_commands
    apps = settings.INSTALLED_APPS
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 52, in __getattr__
    self._setup(name)
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 47, in _setup
    self._wrapped = Settings(settings_module)
  File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 132, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'settings' (Is it on sys.path?): No module named settings
Run Code Online (Sandbox Code Playgroud)

有没有人有同样的错误?任何人都可以提供建议或帮助吗?

谢谢,

苏丹

fur*_*ins 31

我在开始一个新项目时遇到了同样的问题.我在命令提示符下给出了这个命令解决了这个问题:

export DJANGO_SETTINGS_MODULE=
Run Code Online (Sandbox Code Playgroud)

以这种方式,我取消设置指向我在开始使用virtualenv之前设置的" settings"文件(发现使用env | grep DJANGO_SETTINGS_MODULE)的变量

在取消设置变量后,django-admin.py脚本就像一个魅力!


Pat*_*ick 6

我和你有同样的问题,除了将我的项目文件夹预先添加到PYTHONPATH之外,我没有想出一个好的解决方法:

export PYTHONPATH="/absolute/path/to/django/project/folder:$PYTHONPATH"
Run Code Online (Sandbox Code Playgroud)

在我的<project>位于/absolute/path/to/django/project/folder/<project>.我将该export命令添加到我的env/bin/activate脚本的末尾,所以每次初始化virtualenv时都会发生这种情况.

我们两种情况之间的唯一区别是我使用多个设置文件而不是单个settings.py模块.

您也可以django-admin.py从包含Django项目的文件夹中调用,如下所示:

python ~/.virtualenvs/devel/bin/django-admin.py <command>
Run Code Online (Sandbox Code Playgroud)

以便它将您当前的工作目录识别为路径的一部分.

希望有道理.解释这一点很笨拙,这使得难以找到答案.