怎么实现把虚拟环境打包,然后在另一台服务器上解压后即可运行

274 天前
 liuhuansir

搜索了一上午,还是不知道如何实现这一需求,场景是两台相同的服务器,在一台上安装了 python3 ,创建了虚拟环境,现在想把这个环境打成 tar.gz 包,复制到另外一台没装 python3 的服务器上解压运行

5208 次点击
所在节点    Python
57 条回复
xwwsxp
274 天前
Docker 不就行了
gcc1117
274 天前
同好奇,详细怎么操作。看到网上共享的那些一键启动的工具应该就是把 python 执行文件还有 venv 的库文件都放在一起就可以了,但自己没有试过不知道有没有什么坑。
foolishcrab
274 天前
Docker 不就行了
bao3
274 天前
这种情况用 docker container 或者 lxc /jail 之类的是最方便的
FlytoSirius
274 天前
你提的这个场景, 本就不应该在这个层面去实现.
应该由下层的 " VM 或 容器" 去实现应用依赖环境管理和灵活部署.
liuhuansir
274 天前
@gcc1117 我司有个产品就是这种发布形式,是其他组的产品,我问了一些人,没问到实现方式
nyfwan123
274 天前
poetry
dongtq
274 天前
conda?
longbow0
274 天前
conda 提供了具体的方法
longbow0
274 天前
liuhuansir
274 天前
@longbow0 谢谢,我试试看
idontnowhat2say
274 天前
以下没有完全求证,个人猜测。

如果另一台装了 相同版本的 Python ,直接把 venv 目录拷贝过去应该就能运行了,前提是没有 pip 包依赖什么没有预装的 C 动态 so 文件。

如果另外一台没有装 Python ,可以试试看 https://github.com/marcelotduarte/cx_Freeze 这个可以把整个 Python 打包成可执行文件。
lizytalk
274 天前
docker
edwinyzhang
274 天前
container
1018ji
274 天前
路径需要相同,不然就完犊子
mMartin
274 天前
conda +1
dif
274 天前
conda pack
pollux
274 天前
zipapp +1
mumbler
274 天前
我们用的方法是把服务器做 ghost 镜像,到另一台恢复
Tink
274 天前
docker

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

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

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

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

© 2021 V2EX