Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在积极开发的应用程序之间共享util模块_Python - Fatal编程技术网

Python 在积极开发的应用程序之间共享util模块

Python 在积极开发的应用程序之间共享util模块,python,Python,我们有一个不断增长的应用程序库,它依赖于一组通用的util模块。我们希望: 在所有项目之间共享相同的UTIL代码库 允许从事任何项目的开发人员扩展(并修复!)UTIL 对于开发人员来说,这是一个相当简单的使用方法(也就是说,不会对工作流程造成太大的干扰) 跨平台(Mac/Win/Linux上的开发人员无差异) 我们目前“手动”执行此操作,并将UTIL版本作为每个应用程序的一部分进行控制。这有它的好处,但在越来越多的代码库中反复修复bug也是相当痛苦的 从好的方面来说,从工作流的角度来处理它非常简

我们有一个不断增长的应用程序库,它依赖于一组通用的util模块。我们希望:

  • 在所有项目之间共享相同的UTIL代码库
  • 允许从事任何项目的开发人员扩展(并修复!)UTIL
  • 对于开发人员来说,这是一个相当简单的使用方法(也就是说,不会对工作流程造成太大的干扰)
  • 跨平台(Mac/Win/Linux上的开发人员无差异)
  • 我们目前“手动”执行此操作,并将UTIL版本作为每个应用程序的一部分进行控制。这有它的好处,但在越来越多的代码库中反复修复bug也是相当痛苦的

    从好的方面来说,从工作流的角度来处理它非常简单——util模块是每个应用程序的一部分,因此在这方面没有开销

    我们还考虑(快速地)使用文件系统链接或类似的链接(在操作系统之间不可移植)


    我理解发布测试和破坏等的含义。这些问题比目前不匹配的util问题要小。

    您使用的是什么版本控制系统?如果您使用的是git,请查看。本例中的想法是,您将能够使用UTIL保留一个唯一、独立的存储库,该存储库将自动轮询到各个项目中

    我没有使用mercurial的直接经验,但我相信它们是等效的功能


    如果你在SVN下。。。等待我希望不是

    您可以利用Python路径(查找要导入的模块时搜索的路径)

    因此,您可以为UTIL创建不同的目录,并将其包含在使用这些UTIL的项目之外的不同存储库中。然后在
    PYTHONPATH
    中包含此存储库的路径

    这样,如果您编写
    importmymodule
    ,它最终会在包含utils的目录中找到
    mymodule
    。因此,基本上,它的工作原理与标准Python模块的工作原理类似

    通过这种方式,您将拥有一个用于util的存储库(如果您愿意,也可以为每个util单独存储),以及用于其他项目的独立存储库,无论您使用的版本控制系统如何