Manage.py无法从其他eclipse项目中找到包

时间:2015-07-28 11:48:22

标签: python django eclipse import

我正在一个eclipse项目中开发几个django应用程序,以及一个单独的库,其中一些应用程序依赖于另一个eclipse项目。我通过Properties->Project References从我的django项目引用了库项目,它允许从一个项目导入到另一个项目。在eclipse中的python控制台中测试时,这些导入的工作方式完全符合预期。

现在我尝试通过cmd在Windows manage.py runserver - shell中启动我的django项目的开发服务器,但它失败并显示一条消息告诉我它无法找到上述导入。我认为这是因为正在开发的库没有“安装”在任何地方,脚本才能找到它们。

我的问题的最佳解决方案是什么?

想法和注意事项:

  • 我可以从日食中运行manage.py runserver吗?这会解决问题吗?
  • 我正在同时处理这两个项目,因此任何引入相当大开销的事情(比如在每次编辑后打包和安装库)应该被认为是最后一次。
  • 有没有办法告诉manage.py脚本在哪里查找丢失的导入?

1 个答案:

答案 0 :(得分:0)

我找到了一个适合我的解决方案:

sys.path.append("relative\\path\\to\\library\\source\\folder")之后添加os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangoToolkit.settings")。因为我的库项目的源文件夹现在被附加到系统路径,所以现在在启动开发服务器时搜索我的库的包和模块。我的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)