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

标签 python

我们有越来越多的应用程序库,这些应用程序依赖于一组通用的实用程序模块。我们希望:

  1. 在所有项目之间共享相同的实用程序代码库
  2. 允许从事任何项目的开发人员扩展(和修复!)utils
  3. 让开发人员使用起来相当简单(即不会对工作流程造成重大干扰)
  4. 跨平台(Macs/Win/Linux 上的开发者没有差异)

我们目前“手动”执行此操作,并将实用程序作为每个应用程序的一部分进行版本控制。这有它的好处,但在越来越多的代码库中重复修复错误也很痛苦。

从好的方面来说,在工作流方面处理起来非常简单 - util 模块是每个应用程序的一部分,因此在这一方面是零开销。

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

我了解有关发布测试和损坏等的影响。与目前不匹配的实用程序相比,这些都不是问题。

最佳答案

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

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

这样如果你写import mymodule,它最终会在包含utils的目录中找到mymodule。所以,基本上,它的工作方式与标准 Python 模块的工作方式类似

这样,您将拥有一个用于实用程序的存储库(如果您愿意,也可以为每个实用程序单独存储),以及用于其他项目的单独存储库无论您使用何种版本控制系统.

关于python - 在积极开发的应用程序之间共享 util 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8486942/

相关文章:

python - 如何将单词和标点符号之间包含空格的字符串分成句子?

python - Paypal 自适应支付 - 预批准请求导致 "Invalid request"错误

python - 在pyqt4中打开新窗口

python - 无法使用 getattr() 函数解析 bs4 src 属性

python - 运行时错误: The full_object_detection must use the iBUG 300W 68 point face landmark style

python 3 : Join lines of file if its not endswith a special character

Python-在找不到时更改字典键

python - requests.codes.ok 是否包含 304?

python - 如何解决错误 "no module found named pyside2"?

python - * : 'Nonetype' and 'Float' with array problem [duplicate]的不受支持的操作数类型的Python错误