美文网首页
离线部署python项目的最佳实践

离线部署python项目的最佳实践

作者: alue | 来源:发表于2022-04-11 12:20 被阅读0次

    任务:将windows开发的python工程部署到离线Ubuntu服务器中。

    目标机器无法上网,没有办法直接 pip install -r requirements.txt 安装依赖。而且目标机器跟开发机器操作系统不同,直接拷贝site-package也行不通。

    经过探索,最佳实践如下:

    1. 在虚拟机或者windows子系统中,新建跟目标机器一样的操作系统,安装相同版本python

    这个虚拟机是能够上网的,所以这一步比较简单,用它来下载目标机器的依赖。

    2. 在虚拟机上下载依赖

    pip download -r requirements.txt -d wheelfiles -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
    

    这样,项目依赖就会存入wheelfiles文件夹内

    3. 文件导入目标机器

    需要导入文件有:

    • 项目工程代码
    • requirements.txt
    • wheelfiles 文件夹
    • python安装包:python.tgz
    • python安装包依赖:zlib.tar.gz

    4. 离线安装zlib和python

    安装python3之前需要安装zlib,否则会报错。安装的过程就是标准四连:
    (0). tar -xzf xxx 解压
    (1). ./config 配置
    (2). make 构建
    (3). make install 安装

    注意 配置python3时,推荐加入参数 ./configure --enable-optimizations --with-lto, 以提升性能。

    5. 查看python状态

    用下面的指令,确保后续步骤使用正确的python

    # 查看安装的python版本位置
    whereis python
    
    # 查看当前绑定状态
    update-alternatives --display python
    
    # python 绑定版本 最后的数字代表优先级,数字越大,优先级越高
    update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
    # 切换版本
    update-alternatives --config python
    
    # 查看版本
    python -V
    

    6. 创建虚拟环境,完成依赖隔离

    python -m venv venv
    source venv/bin/activate
    python --version
    

    7. 安装依赖

    # 在离线服务器中安装依赖
    pip install -r requirements.txt --no-index --find-links path/to/wheels
    

    使用上述命令,直接从导入的wheels包中安装依赖。

    8. 运行测试项目,完成部署

    相关文章

      网友评论

          本文标题:离线部署python项目的最佳实践

          本文链接:https://www.haomeiwen.com/subject/jfuisrtx.html