Python的强大在于各种第三方库,但由于工作网络与互联网物理隔离,无法通过pip直接在线安装第三方库。下面以pyautogui的安装为例,简要描述离线安装的过程。
互联网端操作
通过Anaconda创建一个虚拟环境(因为是win7环境,只能支持python3.8,所以指定了python的版本)。
在互联网端通过pip install命令在线安装pyautogui
通过pip freeze命令导出相关的依赖包到文本文件,避免后面下载有遗漏。
查看d:\pip-down\re.txt,文件中列了9个包
通过pip download命令下载pyautogui离线包到指定目录(d:\pip-down)
观察d:\pip-down目录,下载了9个文件,和re.txt所列包名称完全匹配。
下面就试着离线安装。
通过pip uninstall 命令把已经安装好的pyautogui及其依赖包全部卸载
pip uninstall命令可以卸载指定包,也可以通过-r参数卸载指定文件内所列的包
通过pip install命令离线安装有几种方式
- 根据刚才准备好的的re.txt批量安装。命令如下:
pip install --no-index --find-links=d:\pip-down -r re.txt -y
- 逐个安装已经下载好的whl或者tar.gz文件,安装的时候可能有先后顺序,如果有依赖报错可以试着调整安装顺序
whl文件安装比较简单,但是tar.gz包安装就不太顺利,有几个包安装报错
安装.tar.gz文件还有一种方法,即使用setup.py文件进行安装。
- 通过tar -zxvf filename.tar.gz将文件解压(若是Windows环境,直接winRar工具解压即可),解压后的文件夹中,一般都会包含一个setup.py文件(有的包可能压了几层,没找到setup。py就继续解压)。
- 解压文件夹中找到setup.py文件后,使用python setup.py install命令进行安装(注意命令中文件路径,要么cd至有效路径,要么命令行中带好路径)。
工作网络操作
Anaconda安装完成后,创建conda虚拟环境。
#报因为没法连接互联网,查了一下,要加上--offline参数
conda create -n env_pyautogui python=3.8.8 --offline -y
#执行成功
进入虚拟环境后按照前文所述方法逐个安装包文件。
最近又发现2个通过环境迁移来解决离线环境安装第三方包问题的解决方案,比上文所述方法要简单很多。
强烈推荐给大家,下面2篇文章可以参考一下!