6

升级到 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。我正在使用日食靛蓝。

我开始查看运行配置,注意到 django 1.3 egg 仍然被引用。所以我去了windows/preferences/pydev/interpreter-python,系统PYTHON路径中引用了1.3 egg。

为了尝试纠正这个问题,我删除了现有的 python 解释器,并重新添加了一个新解释器。我的 python 是从 venv 运行的,所以我添加了这个。出现错误:

错误信息

我不认为这是相关的,但我可以看到 /venv/lib 已出现在 System PYTHONPATH 列表中,而在 Windows 中,该文件夹称为 /venv/Lib,所以我也添加了它。仍然没有包含新的 django egg,所以我在“库”窗口下手动添加了它。

但是,我仍然收到错误消息。

该应用程序从命令行运行良好。

4

4 回答 4

5

经过几个小时尝试不同的事情后想通了。

我使用 pydev 2.5 创建了一个新的 Django 项目,只是为了看看会发生什么,我注意到“django 设置模块”条目(见下文)是appname.settings。以前我放了'settings.py'。我完全删除了该条目,从而解决了第一个问题。

在此处输入图像描述

在此之后,我收到“找不到模块应用程序名称”错误,因此我尝试将一个空的 __init__.py 文件放在我的应用程序的根目录中,这似乎有效。

于 2012-04-22T01:40:46.587 回答
1

在 virtualenv 中,这通常是您在安装过程中忘记从基本 python 安装添加 /Lib 的情况(因此,在 PYTHONPATH 中搜索时,找不到诸如“threading.py”或“traceback.py”之类的东西', ETC。

于 2012-04-24T11:09:38.910 回答
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>需要在那里,但我发现它的设置并不重要。

于 2012-08-17T04:30:42.623 回答
0

我有这个问题。我的项目没有 PyDev - Django 属性,所以这里的其他解决方案不起作用。我认为这是因为我最初没有将它创建为 Django 项目。相反,有效的是:

  1. 右键单击项目 > 属性 > PyDev PYTHONPATH > 字符串替换变量。
  2. 添加一个名为 DJANGO_SETTINGS_MODULE 的变量它的值应该是 yourapp.settings (或者如果它已经存在则编辑它)
于 2012-11-09T16:54:30.903 回答