Python 离线安装第三方库

408 阅读1分钟

前言

日常工作中常常会碰到在网络隔离的环境中安装Python库的情况,且Python版本不固定。目前只能在有网络的环境中手动下载安装包后,再进行离线安装,但是Python库常常会有依赖问题,逐个解决依赖项显然不是一个明智之举。

环境准备

  1. 离线Linux服务器已安装对应Python版本
  2. 有网络的Linux环境安装pyenv工具 + virtualenv插件

安装步骤

下面以在 Python 3.8.0 中安装 redfish_utilities 库为例

1. 使用virtualenv创建一个对应Python版本的虚拟环境

pyenv virtualenv 3.8.0 py380

image.png

2. 切换到虚拟环境

使用虚拟环境能够保证与原有环境中已安装的包互不影响

pyenv activate py380

image.png

3. 安装第三方库

pip install redfish_utilities

image.png

image.png (这复杂的依赖关系,如果手动逐个安装,不知道要耗费多少时间...)

4. 生成依赖关系

pip freeze >requirements.txt

image.png

5. 根据依赖关系下载离线安装包

pip download -d package_download/ -r requirements.txt

image.png

image.png

6. 离线安装

将所有离线安装包和requirements.txt文件拷贝到离线环境中,执行下述代码即可自动安装所有依赖项

pip install --no-index --find-links="." -r requirements.txt