Python 多个本地项目如何共用模块?

2017-11-01 15:54:08 +08:00
 corningsun

例如,

项目 A projectA 项目 B projectB

中有相同的模块 C,现在想拆分一个 projectC 出来,以减少代码冗余。

项目都是通过 pip 管理的依赖包的,但是把 projectC 发布到 PyPI 不太合适。


想到的解决方法是,参考 maven 私库,弄个内部服务器,但还是觉得比较麻烦。

还有更好的解决方法吗?

3703 次点击
所在节点    Python
11 条回复
TimePPT
2017-11-01 17:04:28 +08:00
pip 支持从 VCS 安装,把 project c 本地打包,上传到公司的 VCS 上,
install 时候带相应参数及 VCS 地址就行

http://pip-cn.readthedocs.io/en/latest/reference/pip_install.html#vcs-support
roricon
2017-11-01 17:09:17 +08:00
wellsc
2017-11-01 17:09:38 +08:00
1.PYTHONPATH 2.封装成私有依赖包(放到 git remote repo 就可以了) 3.封装成服务
bonfy
2017-11-01 17:13:58 +08:00
难道是 共用一个数据库模型?
Hstar
2017-11-01 17:18:33 +08:00
git 子模块。
或者打包成包,自己搭建一个私有 pip 源,然后发布上去。
janxin
2017-11-01 17:23:18 +08:00
junnplus
2017-11-01 17:29:49 +08:00
ipconfiger
2017-11-01 17:31:53 +08:00
不涉及业务的一般都发到 Pypi 上了
xiaobeitzb
2017-11-01 17:38:16 +08:00
自己搭一个 pypi-server (炒鸡简单) ,然后在需要拉取的机器上修改 ~/.pip/pip.conf

[global]
index-url = http://pypi.douban.com/simple
extra-index-url = http://<your pypi server ip : port>/simple/
[install]
trusted-host = pypi.douban.com <your pypi server ip : port>

即可
wcsjtu
2017-11-01 17:58:00 +08:00
pip install svn+svn_repo_url

pip install git+git_repo_url
corningsun
2017-11-02 09:08:57 +08:00
谢谢大家

综合来看,git submodule 更符合我的需求,我去实验了,🙏

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/402650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX