V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
corningsun
V2EX  ›  Python

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

  •  
  •   corningsun · 2017-11-01 15:54:08 +08:00 · 3646 次点击
    这是一个创建于 2578 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如,

    项目 A projectA 项目 B projectB

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

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


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

    还有更好的解决方法吗?

    11 条回复    2017-11-02 09:08:57 +08:00
    TimePPT
        1
    TimePPT  
       2017-11-01 17:04:28 +08:00   ❤️ 1
    pip 支持从 VCS 安装,把 project c 本地打包,上传到公司的 VCS 上,
    install 时候带相应参数及 VCS 地址就行

    http://pip-cn.readthedocs.io/en/latest/reference/pip_install.html#vcs-support
    roricon
        2
    roricon  
       2017-11-01 17:09:17 +08:00   ❤️ 1
    wellsc
        3
    wellsc  
       2017-11-01 17:09:38 +08:00
    1.PYTHONPATH 2.封装成私有依赖包(放到 git remote repo 就可以了) 3.封装成服务
    bonfy
        4
    bonfy  
       2017-11-01 17:13:58 +08:00
    难道是 共用一个数据库模型?
    Hstar
        5
    Hstar  
       2017-11-01 17:18:33 +08:00
    git 子模块。
    或者打包成包,自己搭建一个私有 pip 源,然后发布上去。
    janxin
        6
    janxin  
       2017-11-01 17:23:18 +08:00
    ipconfiger
        8
    ipconfiger  
       2017-11-01 17:31:53 +08:00
    不涉及业务的一般都发到 Pypi 上了
    xiaobeitzb
        9
    xiaobeitzb  
       2017-11-01 17:38:16 +08:00   ❤️ 1
    自己搭一个 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
        10
    wcsjtu  
       2017-11-01 17:58:00 +08:00   ❤️ 1
    pip install svn+svn_repo_url

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

    综合来看,git submodule 更符合我的需求,我去实验了,🙏
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2839 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:02 · PVG 15:02 · LAX 23:02 · JFK 02:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.