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
ladypxy
V2EX  ›  Python

请问大家公司都是用什么工具来处理部署时 Python 包的版本问题呢

  •  
  •   ladypxy · 2022-07-25 09:31:50 +08:00 · 3838 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。

    python 不管是自己开发的包,还是用的公开的包,版本都是会更新的。 更新经常会带来各种冲突问题,所以部署时包的版本管理就很重要。 现在公司用的是自己开发的软件来进行管理,大家公司都是用的啥?有没有什么业界用的比较光的 python 的部署管理系统

    22 条回复    2022-07-26 15:22:01 +08:00
    pepesii
        1
    pepesii  
       2022-07-25 09:34:20 +08:00
    轮子一大堆了,适合自己的才是最好的
    Baloneo
        2
    Baloneo  
       2022-07-25 09:38:37 +08:00   ❤️ 1
    Docker?
    livenux
        3
    livenux  
       2022-07-25 09:38:52 +08:00   ❤️ 1
    pypi private
    arischow
        4
    arischow  
       2022-07-25 09:44:21 +08:00   ❤️ 1
    private PyPI repo
    yuyue001
        5
    yuyue001  
       2022-07-25 09:46:35 +08:00   ❤️ 1
    poetry ,生产环境使用 poetry.lock 文件安装依赖。
    ql562482472
        6
    ql562482472  
       2022-07-25 09:48:50 +08:00   ❤️ 1
    docker
    raycool
        7
    raycool  
       2022-07-25 09:56:58 +08:00
    docker
    感觉这个就没一个比较完美的方案
    princelai
        8
    princelai  
       2022-07-25 10:09:20 +08:00
    我司测试服务器上用 docker,生产上用 pip,我自己本地和 GPU 服务器的测试和生产环境,我都让运维转到 conda 了
    ruanimal
        9
    ruanimal  
       2022-07-25 10:11:30 +08:00   ❤️ 1
    docker 或者 conda
    lazyload
        10
    lazyload  
       2022-07-25 10:12:47 +08:00
    poetry+1
    ClericPy
        11
    ClericPy  
       2022-07-25 10:38:24 +08:00 via Android   ❤️ 1
    自己写个脚手架打包成 zip 可以直接运行,不过跨平台还是得锁版本很好使
    blankmiss
        12
    blankmiss  
       2022-07-25 10:45:38 +08:00
    harbor ?
    milukun
        13
    milukun  
       2022-07-25 11:40:26 +08:00
    还是 Docker 比较方便
    guoqiao
        14
    guoqiao  
       2022-07-25 11:56:10 +08:00   ❤️ 2
    最简单的难道不是 requirements.txt + pip freeze ? 用 dockerfile 做成镜像更佳.
    raptor
        15
    raptor  
       2022-07-25 13:18:44 +08:00
    docker
    c1273082756
        16
    c1273082756  
       2022-07-25 13:37:22 +08:00
    docker, copy 进去后再 pip install
    suber
        17
    suber  
       2022-07-25 13:42:21 +08:00
    用的 pip 做版本管理,提交的代码时,包的版本一定是明确的。https://github.com/jazzband/pip-tools
    即便用 docker (我们最终也会构建一个镜像)也得用类似 pip 的工具做版本控制。
    freakxx
        18
    freakxx  
       2022-07-25 14:10:27 +08:00
    答 docker 是啥意思。。。。


    这是 package manager 的范畴吧?


    目前 poetry 还不错,pipenv 前几年用过,等了他几年解决 bug 一直解决不好。
    freakxx
        19
    freakxx  
       2022-07-25 14:12:08 +08:00
    有包管理烦恼的,一般是没用 lock 功能,你 lock 了,去哪里部署就使用对应 lock 版本就行

    poetry ,pipenv 这些都会有带
    sdwgyzyxy
        20
    sdwgyzyxy  
       2022-07-25 15:45:30 +08:00
    virtualenv? 为每个项目创造一个独立的虚拟环境。
    amlee
        21
    amlee  
       2022-07-25 22:36:28 +08:00
    pyenv, poetry, pipenv, conda
    lolizeppelin
        22
    lolizeppelin  
       2022-07-26 15:22:01 +08:00
    打包 rpm 自己写依赖!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1064 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:25 · PVG 03:25 · LAX 11:25 · JFK 14:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.