问题场景:目标环境无法联网,需要离线安装python包
解决方案:在可以联网的电脑上,用pip download命令下载包,然后传输到目标环境安装。
环境介绍:
联网电脑WIN10 Python3.8 无法联网电脑 WIN7 Python3.6
问题难点:pip download 参数设置
因为两个环境python版本不一致,所以pip download 必须指定一些参数。如果两个环境,操作系统和python版本一致的话,则可直接pip download 包名 即可,无需再主动设置下载参数。
具体参数设置,需在目标环境执行如下命令
from pip import pep425tags print(pep425tags.get_supported())
返回值是一个数组,以数组第一个元素为例 cp36,cp36m,win_amd64 依次表示 python版本3.6,ABI 是cp36m,平台是win_amd64
操作步骤:
1, 联网电脑新建下载包路径 F:\pythonDownloads
2, 联网电脑pip download下载离线包(以python-docx和wordcloud为例子)
执行如下命令:
pip download --python-version 36 --platform win_amd64 --abi cp36m --no-deps -d F:\pythonDownloads python-docx
pip download --python-version 36 --platform win_amd64 --abi cp36m --no-deps -d F:\pythonDownloads wordcloud
参数说明:
--python-version 36 目标环境python版本3.6,如果指定了python版本参数,则还需要指定 platform abi
--platform win_amd64 目标环境平台win_amd64
--abi cp36m 目标环境支持abi是cp36m
--no-deps 如果指定了以上三个参数,这个必须有,否则pip download 报错
-d F:\pythonDownloads 指定下载包存放路径F:\pythonDownloads
python-docx 下载包名python-docx
3.离线包传输到目标环境
4.目标环境pip离线安装
假设包全部传输到目录 D:\pythonDownloads
如果下载包是whl,那么在目标环境运行
pip install D:\pythonDownloads\wordcloud-1.8.1-cp36-cp36m-win_amd64.whl
如果下载的包是tar结尾的,则解压缩后,进入包目录后运行
python setup.py install
,