我有一个似乎是一个基本的路径问题,但我无法弄清楚我的生活.
我有以下目录结构:
??? rockitt
??? activities
? ??? migrations
? ??? templates
? ? ??? activities
? ??? templatetags
??? blog
? ??? settings
Run Code Online (Sandbox Code Playgroud)
内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
我试图手动加载设置,没有运气文件:从博客/设置目录我已经尝试(我不知道这是否是测试这个但是基于阅读的正确方法此:
>>> 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
Run Code Online (Sandbox Code Playgroud)我有点坚持这个.我 - = think = - 它可能也与我的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()
Run Code Online (Sandbox Code Playgroud)堆栈跟踪:
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
Run Code Online (Sandbox Code Playgroud)由于我自己的愚蠢而删除这个问题几乎是诱人的,但我认为答案可能会帮助其他正在编码并且缺乏睡眠的人.
这真的很简单 - 这是blog/settings目录中的拼写错误.
我输了__init.py__,但显然应该是__init__.py
一旦纠正,错误就消失了.
我希望这可以帮助将来的某个人.Facepalm时刻.
| 归档时间: |
|
| 查看次数: |
6372 次 |
| 最近记录: |