2011-09-07 72 views
5

这是几个月的时间我开始使用Python进行开发 - 拥有自己的C#和Java背景。使用Pydev/Eclipse引用外部库在Python appengine项目中使用Pydev/Eclipse

我目前正在研究2个不同的python/appengine应用程序,并且经常发生这些情况,两个应用程序共享公共代码 - 所以我想重构并将公共/通用代码移动到共享位置。

在Java或C#中,我只是创建一个新的库项目,将代码移动到新项目中,并从主项目中添加对库的引用。

我在Python中尝试过,但我无法使它工作。

我使用Eclipse与Pydev插件。

我已经创建了一个新的项目Pydev的,移动的代码,并试图:

  • 从主项目(使用项目属性 - >项目引用)引用库项目
  • 添加库src文件夹文件夹插入到主项目中(在这种情况下,我有一个错误 - 我认为在添加现有源文件夹时无法离开项目边界)
  • 添加为外部库(几乎与谷歌库定义相同,使用属性 - >外部库)
  • 导入为链路(从导入 - >文件系统并启用“创建工作空间链接”)

在我能够引用该库的代码在开发所有的情况,但是当我开始调试,AppEngine开发服务器抛出一个异常,因为它找不到我已经移动到一个单独的库项目。

当然我搜索的解决方案很多,但它看起来像没有人经历了同样的问题 - 或许没人并不需要做同样的:)

最接近的解决方案,我已经能够找到的是添加一个ant脚本来压缩库源文件并复制到目标项目中 - 但这种调试方式很麻烦,因为我无法进入库代码。

有什么建议吗?

不用说,所提出的解决方案必须考虑到,库代码必须包括在上传过程中的AppEngine帐户...

感谢

回答

4

的dev_appserver和生产环境不有任何项目或库的概念,所以你需要构建你的应用程序,以便所有必要的库都在应用程序的根目录下。通常,最简单的方法是将它们作为子目录进行符号链接,或者最坏的情况下将它们复制(或使用版本控制,使它们成为子版本库)。

如何映射到IDE中的操作取决于IDE,但总体而言,可能最容易让应用程序按照需要在磁盘上构建而成,并且可以从中反向工作以使IDE设置为您喜欢的方式它。

+0

感谢Nick - 根据您的建议,将代码移入src文件夹,然后添加到单独的svn存储库。现在我只需要将它导入到其他项目中,我应该可以。 – Antonio

相关问题