[英]ImportError: Could not import settings
I am trying to develop an sample project in Django and getting errors when I run the syncdb command. 我正在尝试在Django中开发示例项目,并且在运行syncdb命令时遇到错误。
This is how my project structure looks like: 这是我的项目结构的样子:
/Users/django_demo/godjango/bookings: / Users / django_demo / godjango / bookings:
manage.py
registration/
forms.py
views.py
models.py
urls.py
bookings/
settings.py
urls.py
And my manage.py file is as follows: 我的manage.py文件如下:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bookings.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)
And my PYTHONPATH and DJANGO_SETTINGS_MODULE are set as below 我的PYTHONPATH和DJANGO_SETTINGS_MODULE设置如下
$echo $DJANGO_SETTINGS_MODULE
bookings.settings
$ echo $PYTHONPATH
/Users/django_demo/godjango/bookings
And my WSGI.py file looks like below: 我的WSGI.py文件如下所示:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bookings.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
When I run the python manage.py syncdb command, I am getting the following error. 当我运行python manage.py syncdb命令时,出现以下错误。
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 8, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/core/management/sql.py", line 6, in <module>
from django.db import models
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/db/__init__.py", line 11, in <module>
if DEFAULT_DB_ALIAS not in settings.DATABASES:
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner
self._setup()
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/Users/django_demo/godjango/lib/python2.7/site-packages/django/conf/__init__.py", line 95, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'bookings.settings' (Is it on sys.path?): No module named unipath
Could someone suggest what I am missing? 有人可以建议我缺少什么吗?
The error says ImportError: Could not import settings 'bookings.settings' (Is it on sys.path?): No module named unipath
错误消息:
ImportError: Could not import settings 'bookings.settings' (Is it on sys.path?): No module named unipath
So, is your path /Users/django_demo/godjango/bookings
within the python-sys.path? 那么,您的路径
/Users/django_demo/godjango/bookings
是吗?
Check it in your shell with: 使用以下命令在您的外壳中检查它:
$ python
Python 2.7.3 (v2.7.3:70274d53c1dd, Apr 9 2012, 20:52:43)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for path in sys.path: print path
...
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/suds-0.4-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/MySQL_python-1.2.3-py2.7-macosx-10.6-intel.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/PIL-1.1.7-py2.7-macosx-10.6-intel.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/spyne-2.8.2_rc-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/lxml-3.0alpha2-py2.7-macosx-10.6-intel.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytz-2012d-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_debug_toolbar-0.9.4-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_social_auth-0.7.7-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/python_openid-2.2.5-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/oauth2-1.5.211-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.4.1-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/httplib2-0.7.6-py2.7.egg
/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
/Library/Python/2.7/site-packages
>>>
If not - you need to add it or simply move your bookings
app into one of the paths represented in your sys.path
如果不是,则需要添加它或将
bookings
应用程序移至sys.path
表示的路径之一
Modify your wsgi.py file from 从修改您的wsgi.py文件
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bookings.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
to 至
import os, sys
sys.path.append(' /Users/Sreek/django_demo/godjango/bookings')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bookings.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
The significant part of the traceback here is right at the very end. 回溯的重要部分就在最后。 It says "No module named unipath".
它说“没有名为unipath的模块”。 You've referred to that somewhere in your code, but you don't seem to have it in your project - it's not part of the standard library, so you'll need to install it somewhere that Python can see it.
您已经在代码的某个地方引用了它,但是您似乎没有在项目中使用它-它不是标准库的一部分,因此您需要将其安装在Python可以看到的地方。
Alternatively, you can even pass the settings path at run time like so: 另外,您甚至可以在运行时通过设置路径,如下所示:
python manage.py syncdb --settings=bookings.settings --pythonpath=/Users/django_demo/godjango/bookings
This should override the environment variable (DJANGO_SETTINGS_MODULE)
这应该覆盖环境变量
(DJANGO_SETTINGS_MODULE)
Review hour /etc/apache2/httpd.conf file; 查看小时/etc/apache2/httpd.conf文件; you must include the WSGIPythonPath directive, to indicate the folder which contains your Django project (manage.py file), like:
您必须包含WSGIPythonPath指令,以指示包含Django项目的文件夹(manage.py文件),例如:
WSGIPythonPath /home/user/Projects/Django/MyProject WSGIPythonPath / home / user / Projects / Django / MyProject
also if you used some weird port in your VirtualHost, specify if for listening: 另外,如果您在VirtualHost中使用了一些奇怪的端口,请指定是否监听:
Listen 90 听90
Hope this helps somebody 希望这对某人有帮助
ImportError: Could not import settings 'settings' (Is it on sys.path? Is there an import error in the settings file?): No module named setting
就我而言,我正在使用__init__.py
导入其他文件,但其中存在错误,因此设置可能实际上存在但存在缺陷。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.