python 运行时会有不同环境需求,在其他机器部署时需要重新配置python环境,当需要离线部署时可以使用pip的离线复制环境的功能。
工作思路 {#工作思路}
- 获取环境所需的库和对应版本
- 确定运行平台(Linux,Windows)
- 在指定平台下载库的离线包
- 将库列表与离线包迁移到新机器
- 在新机器上安装python
- 安装离线包
- 程序调试
具体操作流程 {#具体操作流程}
获取环境所需的库和对应版本 {#获取环境所需的库和对应版本}
- 在源机器安装
pipreqs
pipreqs可以帮你找到当前项目的所有组件及其版本。
- 获取库与版本
成功后会在当前目录生成
requirements.txt
文件例如:
下载库的离线包 {#下载库的离线包}
- 获取
requirements.txt
后下载对应包,使用pip download
命令将包存入packages
文件夹
目标路径不是绝对路径有可能出问题
也可以不用手动创建文件夹,pip会自动创建对应文件夹
- 也可以下载指定的包
**注意:**这个命令如果中途遇到问题报错没有执行完则不会将所有之前下载的包放到目标文件夹,需要逐个解决问题后才会移动到指定位置
Tips:建议将pip源换成阿里云,成功率高很多
安装离线包 {#安装离线包}
| 选项 | 含义 | |--------------------|-------------------------------------------------| | --no-index | 忽略包索引(只查看--find-links) | | --find-links | 指向 URL,html 文件 tar.gz,whl 或者目录,不支持指向VCS项目URL的链接 | | --ignore-installed | 忽略已安装的软件包,覆盖它们 |
在线重现环境 {#在线重现环境}
在有网络的情况下可以使用离线生成的 requirements.txt 文件重建新环境
pip 会逐个安装文件中指定版本的包
参考资料 {#参考资料}
- https://www.cnblogs.com/believepd/p/10423094.html
- https://blog.csdn.net/u010383467/article/details/112274008
文章链接:
https://www.zywvvd.com/notes/environment/pip/pip-env-install-off-line/pip-env-install-off-line/