升级到Django 1.4后,我现在收到以下错误消息:
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'settings.py' (Is it on sys.path?): No module named py
我读到它可能与pydev 2.4有关,例如:here,所以我将pydev升级到最新版本2.5。我正在使用eclipse indigo。
我开始看看运行cnofiguration,并注意到django 1.3 egg仍在被引用。所以我去了windows / preferences / pydev / interpreter-python,并且在系统PYTHON路径中引用了1.3 egg。
为了尝试纠正这个问题,我删除了现有的python解释器,并重新添加了一个新的解释器。我的python是从venv运行的,所以我添加了这个。出现错误:
我不认为这是相关的,但我可以看到/ venv / lib出现在System PYTHONPATH列表中,而在Windows中该文件夹被称为/ venv / Lib,所以我也添加了它。新的django鸡蛋还没有被包括在内,所以我在“图书馆”窗口下手动添加了这个。
但是,我仍然收到错误消息。
应用程序在命令行中运行正常。
答案 0 :(得分:5)
在尝试不同的事情几个小时后想出来。
我使用pydev 2.5创建了一个新的Django项目,看看会发生什么,我注意到'django设置模块'条目(见下文)是 appname.settings 。以前我放了'settings.py'。我完全删除了条目,这清除了第一个问题。
在此之后我收到了'module appname not found'错误,所以我尝试在我的应用程序的根目录中放置一个空的__init__.py文件,这似乎有效。
答案 1 :(得分:1)
在virtualenv中,通常情况下你忘记在安装过程中从基础python安装中添加/ Lib(因此,当在PYTHONPATH中搜索时,它找不到诸如'threading.py'或''之类的东西traceback.py'等等。
答案 2 :(得分:0)
我通过将以下内容添加到manage.py
:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = '<django_app_folder>.settings'
os.environ['SERVER_NAME'] = '<name_of_server>'
<django_app_folder>
是包含settings.py
文件的文件夹的名称。
<name_of_server>
需要在那里,但我没有发现它的重要性。
答案 3 :(得分:0)
我有这个问题。我的项目没有PyDev - Django属性,所以这里的其他解决方案不起作用。我想这是因为我最初没有将它创建为Django项目。相反,有效的是: