You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何处理两个项目共享的无法上传PyPI的本地依赖问题

多项目共用私有Python模块解决方案

核心思路:将Module_X从两个项目中抽离为独立公共资源,通过本地/私有托管方式实现多项目共享,完全避免手动同步操作,且全程不会将敏感代码上传至公网。


方案1:本地可编辑模式安装(Python生态原生推荐方案)

  • 第一步调整目录结构,将Module_X抽为独立公共包,整体目录参考:
root
├── shared_libs
│   └── module_x
│       ├── pyproject.toml # 包配置文件
│       └── module_x # 实际业务代码目录
│           ├── __init__.py
│           └── 其他代码文件
├── project_a
└── project_b
  • 极简pyproject.toml配置示例:
[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "module_x"
version = "0.1.0"
packages = ["module_x"]
  • 分别进入project_a、project_b的虚拟环境,执行可编辑安装命令:
    pip install -e ../shared_libs/module_x
  • 优势:修改公共module_x代码后,两个项目无需重新安装即可直接生效,完全符合Python依赖管理规范,无导入异常风险。

方案2:符号链接(轻量快捷,适合单人开发场景)

  • 先将module_x抽离到公共存储目录,之后通过软链接将公共目录映射到两个项目的对应路径下:
    • Linux/macOS 终端执行(在project_a目录下执行,project_b操作同理):
      ln -s 公共module_x的绝对路径 ./module_x
    • Windows 命令提示符执行:
      mklink /D .\module_x 公共module_x的绝对路径
  • 优势:无需额外打包配置,操作成本极低,修改公共代码实时同步到两个项目。

方案3:私有Git仓库托管(适合多人协作、需要版本管控场景)

  • 将抽离后的module_x代码上传到私有Git仓库(可部署本地Git服务、或使用GitHub/GitLab私有仓库)
  • 两个项目的requirements.txt中添加依赖声明即可:
    git+ssh://git@私有Git仓库地址/xxx/module_x.git@v1.0.0#egg=module_x
  • 优势:支持版本锁版、多人协作更新,不需要本地维护公共代码目录,适合团队开发场景。

内容的提问来源于stack exchange,提问作者Dapper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 03:57:01