代码之家  ›  专栏  ›  技术社区  ›  AFoglia

使用共享包组织Python项目

  •  3
  • AFoglia  · 技术社区  · 15 年前

    组织和开发由共享一个(或多个)大型Python库的许多小脚本组成的项目的最佳方式是什么?

    trunk
        libs
            python
            utilities
        projects
            projA
            projB
    

    当程序的正式运行完成时,我们希望记录使用的代码版本。对于C++执行文件来说,事情很简单,因为只要在编译时工作副本是干净的,一切都很好。(由于我们是通过编程方式获取版本号的,所以它必须是一个工作副本,而不是导出。)对于Python脚本,情况更复杂。

    我目前的解决方法是,如果需要,将中继的另一个副本签出到其他位置,然后在那里运行。但是我需要记住将PYTHONPATH更改为指向lib/python的第二个版本,而不是第一个树中的版本。

    我们是否应该使用subversion关键字来存储修订号,从而允许数据用户导出文件?我们应该使用virtualenv吗?我们应该更倾向于包装和安装机制吗?Setuptools是标准的,但我读过一些关于它的混合文章,它似乎是为非开发人员最终用户设计的(我们没有)。

    2 回复  |  直到 15 年前
        1
  •  2
  •   Ben James    15 年前

    为每个项目使用一个存储库,以及 externals 对于共享库。

    virtualenv 如果需要为同一服务器上的不同应用程序提供隔离的运行时环境。然后,每个环境都可以包含它所需的库的唯一版本。

        2
  •  1
  •   Jay P.    15 年前

    如果我正确理解了你的问题,那么你肯定想要virtualenv。加入一些虚拟说唱歌手的优点,让它变得更好。