美文网首页
离线部署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