请问大家通过什么办法将自己的程序部署到 [无法连接外网] 的生产环境呢?

2017-07-30 07:31:59 +08:00
 vainpray
小弟每次上线程序,梳理依赖和编译源码包都是个很痛苦的事情…而目前试过的打包程序,如 pyinstaller,cxfreeze,都或多或少会有一些包不支持的问题,同时构建依赖打包脚本也是个满痛苦的事儿…请问各位大大是如何部署自己开发的程序到生产环境上的呢?
2789 次点击
所在节点    Python
12 条回复
ech0x
2017-07-30 07:56:20 +08:00
docker
kingwl
2017-07-30 09:38:50 +08:00
内网....
thinks
2017-07-30 10:01:55 +08:00
VMware
DCjanus
2017-07-30 10:16:20 +08:00
docker 解决你的问题
ansheng
2017-07-30 10:21:03 +08:00
docker,但是如何是内网,程序怎么跑呢?数据什么的哪儿来呢?
CryMeatel
2017-07-30 10:27:27 +08:00
在 abi 兼容的系统,pip wheel -r requirements.txt 下载编译所以 python 依赖。线上系统 pip install -r requirements.txt -f {{下载了离线依赖包的文件夹}},即可
vainpray
2017-07-30 10:30:43 +08:00
@ansheng 啊,我是做运维,所以开发的程序以运维定制化为主,同时也开发一些功能性程序
tempdban
2017-07-30 15:39:59 +08:00
@CryMeatel 如果是 abi 兼容 但是内核,libc 和 libpython 不兼容,这怎么办
mritd
2017-07-30 15:48:46 +08:00
@vainpray 你绝对需要 docker,他可能是唯一能救你命的人了,你的有时间拜访一下
codelover2016
2017-07-30 20:32:51 +08:00
@ansheng 其实就是内网隔离,依赖的东西又是外网的...
CryMeatel
2017-07-31 13:13:58 +08:00
@tempdban 一般找低版本的系统+对应 python 版本,比如 centos6 编译的 centos7 也能跑;

或者,去 pypa(python 官方包组织)的 github 源,找一个叫 manylinux 的项目,是基于 centos5,内置各种 python 版本,编译出来基本兼容所有 linux 的 whl。用 docker 拖下来,然后找对应版本 pip wheel 编译即可。
vZexc0m
2017-09-05 09:49:54 +08:00
建虚拟环境,装好包 拷贝过去 不过其他的东西要一样

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

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

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

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

© 2021 V2EX