当源代码没有组织为Python项目时使用PyDev

时间:2015-04-24 14:47:16

标签: pydev

我一直在使用Eclipse与PyDev一段时间,我发现PyDev是一个非常棒的工具。虽然有一个很大的障碍,我无法弄清楚如何解决。问题如下:

我正在使用的源代码是由Git控制的版本。存储库结构与典型Python项目的结构不同。我不能改变存储库的结构,它就像是由于历史原因,并且由于不仅Python代码存储在存储库中; C / C ++,JavaScript,SQL等源代码与Python代码一起存放在存储库中。此外,使用源代码的大多数其他开发人员不使用Eclipse或任何其他IDE,因此没有改变当前布局的动力。

尝试应对这种情况我创建了一个脚本,该脚本生成一个Python目录结构,包含指向原始源文件的(硬)链接。这不是一个好的解决方案,例如每次切换分支时我都需要重新生成链接。当在链接文件上使用时,Git功能(例如注释等)也不起作用。还有许多其他缺点。

以下两个示例显示了相关存储库中的(缺少)结构:

repository:/ components / foopackage / foopackage / barpackage /部署为: 名称空间package.foopackage.barpackage

另一个例子:

repository:/ components / foopackage / core / core /部署为: 名称空间package.foopackage

存储库中的实际包名(或者说目录/映射名称)不需要指示如何命名python-package,该信息位于单独的构建系统元文件中。我上面提到的脚本从那些元文件中导出了上述转换。

我认为我需要的是在存储库布局上定义逻辑视图转换的某种方式。

我对如何解决此问题的任何建议感兴趣?理解我的选择是非常好的。

祝你好运, 托马斯

1 个答案:

答案 0 :(得分:0)

对于PyDev来说,这不应该是一个问题...有一些替代方案可以解决这个问题:

  1. 使用您下载代码的相同位置获取代码并创建一个新项目(如果其他开发人员不介意,请提交.project和.pydevproject文件 - 下次它应该是将文件>导入>现有项目导入工作区的问题。有关详细信息,请参阅:http://pydev.org/faq.html#PyDevFAQ-HowdoIimportexistingprojects%2FsourcesintoPyDev%3F

  2. 只需在PyDev工作区中的任何地方和第一个向导页面中创建一个新项目,在配置PyDev时,您可以选择创建指向现有源的链接(在下一页选择它们)&#39 ;。然后参考那里的现有资源。

  3. 我认为选项1更好,因为第二次检查代码时更容易 - 对于选项2,您必须在不同位置再次克隆项目时重复这些步骤。

    UPDATE1:

    鉴于这些变化增加了更多信息,我同意......这是一个非常奇怪的设置:)

    (即:你可能有很多脚手架用于在本地运行/测试代码,实际命名空间与磁盘布局中的更改)

    好吧,有了这个用例,我认为拥有一个创建带符号链接结构的脚本是唯一可行的选择(这样你就可以实际模仿你在运行Python时拥有的实际名称空间),尽管我认为最好的方法是至少让磁盘中PYTHONPATH文件夹下的结构与运行Python时的结构相同(如果是这种情况,只需在方法1或2中设置源文件夹即可) - - 如果你能说服你的团队这是Python项目布局唯一合理的方法:)