【问题标题】: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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-18
      • 2011-01-04
      • 2017-10-25
      • 2020-08-28
      相关资源
      最近更新 更多