【问题标题】:Manage.py cannot find package from other eclipse projectManage.py 无法从其他 Eclipse 项目中找到包
【发布时间】:2015-10-18 22:57:55
【问题描述】:
我正在一个 Eclipse 项目中开发几个 django 应用程序,以及一个单独的库,一些应用程序在另一个 Eclipse 项目中依赖于该库。我已经通过Properties->Project References 从我的 django 项目中引用了库项目,它允许从一个项目导入另一个项目。在 Eclipse 中的 python 控制台中进行测试时,这些导入完全符合预期。
现在我尝试通过manage.py runserver 在 Windows cmd-shell 中启动我的 django 项目的开发服务器,但它失败并显示一条消息告诉我找不到上述导入。我认为这是因为正在开发的库没有在任何地方“安装”以便脚本找到它们。
我的问题的最佳解决方案是什么?
想法和考虑:
- 我可以在 Eclipse 中运行
manage.py runserver 吗?这还能解决问题吗?
- 我同时处理这两个项目,因此任何会引入大量开销的事情(例如在每次编辑后打包和安装库)都应该放在最后考虑。
- 有没有办法告诉 manage.py 脚本在哪里查找丢失的导入?
【问题讨论】:
标签:
python
django
eclipse
import
【解决方案1】:
我找到了适合我的解决方案:
在os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoToolkit.settings") 之后添加sys.path.append("relative\\path\\to\\library\\source\\folder") 就可以了。因为我的库项目的源文件夹现在附加到系统路径,所以现在在启动开发服务器时搜索我的库的包和模块。我的 manage.py 现在看起来像这样:
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoToolkit.settings")
sys.path.append("..\\LibraryProject\\src")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)