2014-11-20 53 views
0

我设置了一个新的Django项目,并且遇到了可怕的'无法导入设置'错误。我之前已经设置了许多django项目,并且从未遇到过这个问题。与此不同的是它使用的是python3.4,django 1.7,它在虚拟机上(我的所有其他虚拟机都在< 1.7,python 2和物理主机上)。我用google搜索了很多,但没有一个解决方案适用于我。django:无法导入settings.py

这是我得到的错误:

[email protected]:/vagrant/elex_apis$ python3 manage.py migrate 
Traceback (most recent call last): 
    File "/usr/local/lib/python3.4/dist-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 109, 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 2189, in _find_and_load_unlocked 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed 
    File "<frozen importlib._bootstrap>", line 2231, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2214, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2201, in _find_and_load_unlocked 
ImportError: No module named '/vagrant/elex_apis/elex_apis/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 "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", 
line 385, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", 
line 345, in execute 
    settings.INSTALLED_APPS 
    File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", 
line 46, in __getattr__ 
    self._setup(name) 
    File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", 
line 42, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/usr/local/lib/python3.4/dist-packages/django/conf/__init__.py", 
line 98, in __init__ 
    % (self.SETTINGS_MODULE, e) 
ImportError: Could not import settings 
'/vagrant/elex_apis/elex_apis/settings.py' (Is it on sys.path? Is 
there an import error in the settings file?): No module named 
'/vagrant/elex_apis/elex_apis/settings' 

我检查了所有常见的东西(设置文件是存在的,这是 可读的,我有一个初始化,PY文件,我wsgi.py好,我manage.py 好,我可以将其导入)

[email protected]:/vagrant/elex_apis$ python3 
Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import elex_apis.settings 
>>> 

任何援助将不胜感激。

+1

通常'No module named'异常不包含路径,而是模块名称(带点)。试着找出为什么你找到一条路径,检查你的环境。变量。 – Tzach 2014-11-20 23:28:32

+0

DJANGO_SETTINGS_MODULE正在设置为路径。我删除了,现在它工作。谢谢! – 2014-11-20 23:32:43

+0

伟大:)发表回答 – Tzach 2014-11-20 23:35:28

回答

1

通常,No module named异常不包含路径,而是模块名称(带点)。试着弄清楚为什么你会找到一条路径,检查你的DJANGO_SETTINGS_MODULE环境变种。