我有一个基本的路径问题,但是我无法解决这个问题。
我有以下目录结构:
└── rockitt
├── activities
│ ├── migrations
│ ├── templates
│ │ └── activities
│ └── templatetags
├── blog
│ ├── settings
在blog/settings
我有:base.py dev.py __init.py__
__init.py__
上面的目录中包含: from .dev import *
当运行诸如manage.py之类的东西时,我收到以下错误:
ImportError: Could not import settings 'blog.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named settings
到目前为止我尝试过的是:
我检查了manage.py运行时出现了哪些路径,并且以下路径位于列表顶部: rockitt lib/python2.7/Django-1.7.7-py2.7.egg lib/python2.7 [other dirs...] ENV/lib/python27.zip ENV/lib/python2.7 ENV/lib/python2.7/plat-linux2 ENV/lib/python2.7/lib-tk ENV/lib/python2.7/lib-old ENV/lib/python2.7/lib-dynload /usr/local/lib/python2.7 /usr/local/lib/python2.7/plat-linux2 /usr/local/lib/python2.7/lib-tk ENV/lib/python2.7/site-packages
我试图手动加载设置文件没有运气:我尝试过从blog / settings目录中(我不确定这是否是正确的测试方式,但是基于阅读本文:
>>> import dev
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "dev.py", line 1, in <module>
from .base import *
ValueError: Attempted relative import in non-package
我有点坚持。我-=认为=-它可能也与我的wsgi.py文件有关(如下)。
更多信息:
wsgi.py:
import os, sys, site
site.addsitedir('/home/thisUserName/webapps/dev_django_rockitt/ENV/lib/python2.7/site-packages')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "blog.settings.dev")
activate_this = os.path.expanduser("/home/thisUserName/webapps/dev_django_rockitt/ENV/bin/activate_this.py")
execfile(activate_this, dict(__file__=activate_this))
#calculate the path based on the location of the WSGI script
project = '/home/thisUserName/webapps/dev_django_rockitt/rockitt'
workspace = os.path.dirname(project)
sys.path.append(workspace)
sys.path = ['/home/thisUserName/webapps/dev_django_rockitt/rockitt/blog', '/home/thisUserName/webapps/dev_django_rockitt/rockitt'$
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
堆栈跟踪:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/thisUserName/webapps/dev_django_rockitt/lib/python2.7/Django-1.7.7-py2.7.egg/django/core/management/__init__.py", line 385, in execute_from_command_line
utility.execute()
File "/home/thisUserName/webapps/dev_django_rockitt/lib/python2.7/Django-1.7.7-py2.7.egg/django/core/management/__init__.py", line 345, in execute
settings.INSTALLED_APPS
File "/home/thisUserName/webapps/dev_django_rockitt/lib/python2.7/Django-1.7.7-py2.7.egg/django/conf/__init__.py", line 46, in __getattr__
self._setup(name)
File "/home/thisUserName/webapps/dev_django_rockitt/lib/python2.7/Django-1.7.7-py2.7.egg/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/home/thisUserName/webapps/dev_django_rockitt/lib/python2.7/Django-1.7.7-py2.7.egg/django/conf/__init__.py", line 98, in __init__
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'blog.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named settings
由于我自己的愚蠢,删除这个问题几乎是很诱人的,但是我认为答案可能会帮助其他正在编码且缺乏睡眠的人。
确实非常简单-这是blog/settings
目录中的错字。
我打过字__init.py__
,但显然应该输入__init__.py
一旦纠正,错误就消失了。
我希望这对以后的人有所帮助。Facepalm时刻。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句