0

我最近将一个 django 应用程序从c:\Users\user\django-projects\foo\foobarto c:\Python25\Lib\site-packages\foo\foobar(在 python 路径上)。我在目录中启动了一个新应用程序django-projects,并添加foo.foobarINSTALLED_APPS设置中。当我尝试manage.py runserver为我的新应用程序运行开发服务器 () 时,我收到错误消息ImportError: No module named foobar

查看回溯,它正在寻找c:\Users\user\django-projects\foo\..\foo\foobar应用foobar程序。我检查了我的PATHPYTHONPATH环境变量,都没有指向和运行python解释器时c:\Users\user\django-projects\foo它没有出现。sys.path

我猜我c:\Users\user\django-projects\foo在开发的某个时候以某种方式添加到 django 的路径中,foo但我不记得我是如何做到的。

所以,有了所有这些,我的问题是“我如何让 manage.py 看起来c:\Python25\Lib\site-packages而不是c:\Users\user\django-projects\foo?”

谢谢,

  • 莱克索
4

2 回答 2

1

manage.py从当前目录导入 settings.py 并settings作为参数传递给execute_manager. 您可能在 settings.py 中定义了项目根目录。

于 2010-08-05T02:18:34.630 回答
1

我修复了它,虽然我不知道哪种解决方案有效。首先,我从我的项目中删除了这些.pyc文件,然后我重新索引了我的 Windows 搜索(我猜是这样做的)。这将错误消息更改为正确的目录。之后,我意识到我有

from baz import settings

在我的foobar/baz/models.py文件中,这一直是导致问题的原因。我把它改成了

import settings

这解决了这个问题。感谢 laurent 的所有帮助 :-)

于 2010-08-07T19:26:28.220 回答