在Python App Engine项目中使用Pydev/Eclipse引用外部库

5 投票
1 回答
993 浏览
提问于 2025-04-17 01:38

我开始学习Python已经有几个月了,之前我有C#和Java的背景。

现在我正在开发两个不同的Python和App Engine应用程序,通常在这种情况下,这两个应用程序会有一些共同的代码,所以我想把这些通用的代码整理一下,放到一个共享的地方。

在Java或C#中,我只需要创建一个新的库项目,把代码移到新项目里,然后在主项目中添加对这个库的引用。

我尝试在Python中做同样的事情,但我没能成功。

我使用的是Eclipse和Pydev插件。

我创建了一个新的Pydev项目,把代码移过去,然后尝试了以下几种方法:

  • 从主项目中引用库项目(通过项目属性 -> 项目引用)
  • 把库的源文件夹添加到主项目中(在这种情况下我遇到了错误,我猜测在添加现有源文件夹时不能超出项目边界)
  • 作为外部库添加(和谷歌库的定义差不多,通过属性 -> 外部库)
  • 作为链接导入(从导入 -> 文件系统,并启用“在工作区创建链接”)

在所有情况下,我在开发时都能引用库代码,但当我开始调试时,App Engine开发服务器会抛出异常,因为它找不到我移到单独库项目中的代码。

当然,我搜索了很多解决方案,但似乎没有人遇到过同样的问题——或者可能是没有人需要做同样的事情 :)

我找到的最接近的解决方案是添加一个ant脚本,把库源代码打包成zip并复制到目标项目中——但这样调试就很麻烦,因为我无法进入库代码。

有什么建议吗?

当然,提出的解决方案必须考虑到库代码需要包含在上传到App Engine的过程中……

谢谢!

1 个回答

4

开发环境和生产环境没有项目或库的概念,所以你需要把你的应用程序结构整理好,确保所有需要的库都在应用的根目录下。通常,最简单的方法是把它们作为子目录的链接放进去,或者在最坏的情况下,直接复制它们(或者使用版本控制,把它们做成子仓库)。

如何在你的开发工具中操作,这取决于你使用的工具,但一般来说,最简单的方式是先把应用程序按需要的结构整理好,然后再反过来调整你的开发工具设置,让它符合你的需求。

撰写回答