【发布时间】:2021-08-24 20:29:44
【问题描述】:
这是理论上的场景:
Project_A 和 Project_B 是客户端的两个独立进程。这两个项目都依赖于一个名为 Module_X 的自定义模块。
我目前有以下文件夹结构:
project_a
project_a/module_x
project_b
project_b/module_x
这在功能上有效,但缺点是如果我在 project_b/module_x 中进行更改,我必须手动将 module_x 的更新内容复制到 project_a/module_x 以便它们一致并且我在两个项目之间获得一致的结果.
有什么更好的方法可以解决这个问题?
module_x 无法放在 pypi 上,因为它包含敏感信息资源的逻辑。
【问题讨论】:
-
这个问题可能过于基于意见而无法有意义地回答,因为它在很大程度上取决于您的实施需求。然而,一个强烈的建议是将其添加到已经检查导入的路径中。见Where should I put my own python module so that it can be imported
-
您应该根据要求在每个项目中安装本地依赖项。如果您想对
module_x进行更改,这将影响其安装后的行为,您可以使用pip可编辑安装 -
@G.Anderson 好的,我想我明白了。我从项目目录中删除了 module_x,而是运行指向包含 module_x 的本地目录的 pip install 如果我理解理论,这意味着如果我更改 module_x 那么两个项目都会有更新,因为它们通过 pip 引用包含 module_x 的同一个本地目录.我捡起你放下的东西了吗?
-
您可以添加一个路径配置文件,其名称格式为
name.pth,如site模块的文档中所述。 -
@Dapper 如果您希望能够编辑代码并对其产生影响,您需要将
-e选项添加到pip install -e /path/to/module并且您必须进行最小的打包设置跨度>
标签: python