pip离线安装Python包

GFW真是墙内IT工作者的梦魇,倘若需要部署 Kubernetes Atlas 这样大型基础设施,恐怕一半的精力都要浪费在翻墙、搬运上。即使像 Django开发环境(linux) 这样简单的日常开发环境,也不得不祭出"愚公移山"的苦力:

  • 首先找一台网络通畅的主机,最好是同样的Python环境,例如,相同的 Python virtualenv

  • 通过 pip downlaod 命令下载指定软件包(版本),这里举例 Babel-2.12.1-py3-none-any.whl :

pip download 可以下载指定版本python包
mkdir -p ~/onesre_venv3/whl/

# 指定版本下载python包
pip download -d ~/onesre_venv3/whl/ Babel==2.12.1
pip download -d ~/onesre_venv3/whl/ mysqlclient==2.2.0
# 需要特定版本的Django
pip download -d ~/onesre_venv3/whl/ Django==3.2.21


# 也可以不指定版本,则安装最新版本
pip download -d ~/onesre_venv3/whl/ Babel
pip download -d ~/onesre_venv3/whl/ mysqlclient

# 如果有 requirements.txt 采用如下方法打包所有whl文件
for whl in `cat requirements.txt`; do
    pip download -d ~/onesre_venv3/whl/ $whl
done
  • 将下载好的 .whl python包复制到目标主机,然后就可以直接离线安装:

pip install 可以安装下载好的 .whl python包
# 在目标主机上下载好 .whl 文件,然后执行本地安装
pip install Babel-2.12.1-py3-none-any.whl

参考