编辑: 玩着Django 1.7。。。和Python3
使用manage.py时,我似乎无法将local_settings.py导入到我的settings.py文件中。
如果直接执行settings.py文件,则可以很好地导入本地的_settings.py文件,而不会出现任何错误。
但是,当我运行manage.py时,它抱怨找不到本地的_settings.py模块。settings.py和local_settings.py位于同一文件夹中。。。
有什么想法吗?
Traceback (most recent call last):
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/conf/__init__.py", line 94, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/usr/lib/python3.4/importlib/__init__.py", line 104, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
File "<frozen importlib._bootstrap>", line 2203, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1448, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "/home/cg/webdev/riv_com/riv_com/riv_com/settings.py", line 79, in <module>
from local_settings import *
ImportError: No module named 'local_settings'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/core/management/__init__.py", line 427, in execute_from_command_line
utility.execute()
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/core/management/__init__.py", line 386, in execute
settings.INSTALLED_APPS
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/conf/__init__.py", line 46, in __getattr__
self._setup(name)
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/conf/__init__.py", line 42, in _setup
self._wrapped = Settings(settings_module)
File "/home/cg/webdev/riv_com/lib/python3.4/site-packages/django/conf/__init__.py", line 98, in __init__
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'riv_com.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named 'local_settings'
这个错误似乎只发生在Python3.4中
我测试过:
Django 1.6+Python3.4=错误
Django 1.7+Python3.4=错误
Django 1.6+Python2.7=好的
在settings.py中
在settings.py的底部
在local_settings.py中
Python 3.4不支持隐式相对导入:python3中的
from local_settings import *
是一个绝对导入,只在sys.path
中搜索local_settings
模块,而不在settings.py
模块所在的目录中。您需要使用显式的相对导入:from .local_settings import *
;这在Python 2.7中也适用。引用:PEP 328
相关问题 更多 >
编程相关推荐