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

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

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

    或者,去 pypa(python 官方包组织)的 github 源,找一个叫 manylinux 的项目,是基于 centos5,内置各种 python 版本,编译出来基本兼容所有 linux 的 whl。用 docker 拖下来,然后找对应版本 pip wheel 编译即可。
    vZexc0m
        12
    vZexc0m  
       2017-09-05 09:49:54 +08:00
    建虚拟环境,装好包 拷贝过去 不过其他的东西要一样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 09:43 · PVG 17:43 · LAX 01:43 · JFK 04:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.