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

轮子一大堆了,适合自己的才是最好的

Docker?

pypi private

private PyPI repo

poetry ,生产环境使用 poetry.lock 文件安装依赖。

docker

docker
感觉这个就没一个比较完美的方案

我司测试服务器上用 docker,生产上用 pip,我自己本地和 GPU 服务器的测试和生产环境,我都让运维转到 conda 了

docker 或者 conda

poetry+1

自己写个脚手架打包成 zip 可以直接运行,不过跨平台还是得锁版本很好使

harbor ?

还是 Docker 比较方便

最简单的难道不是 requirements.txt + pip freeze ? 用 dockerfile 做成镜像更佳.

docker

docker, copy 进去后再 pip install

用的 pip 做版本管理,提交的代码时,包的版本一定是明确的。 github.com/jazzband/pip-tools
即便用 docker (我们最终也会构建一个镜像)也得用类似 pip 的工具做版本控制。

答 docker 是啥意思。。。。

这是 package manager 的范畴吧?

目前 poetry 还不错,pipenv 前几年用过,等了他几年解决 bug 一直解决不好。

有包管理烦恼的,一般是没用 lock 功能,你 lock 了,去哪里部署就使用对应 lock 版本就行

poetry ,pipenv 这些都会有带

virtualenv? 为每个项目创造一个独立的虚拟环境。

pyenv, poetry, pipenv, conda