【精选】呕心沥血整理,python离线安装第三方库(带疑难杂症实例)!!!

您所在的位置:网站首页 然后安装 【精选】呕心沥血整理,python离线安装第三方库(带疑难杂症实例)!!!

【精选】呕心沥血整理,python离线安装第三方库(带疑难杂症实例)!!!

2023-10-17 17:49| 来源: 网络整理| 查看: 265

文章目录 项目场景解决方案补充第一步:先正常安装1.先查看都有哪些库2.根据提示,先升级一下 pip3.开始安装,这里拿 pyautogui 来试验 第二步:下载并安装离线包1.上 [PyPi](https://pypi.org/) 搜 相关 离线包2.选择版本3.下载所有需要的包,并 pip 安装4.解决疑难杂症4.1 先将这两个库分别解压4.2 使用 setup.py 安装 5.见证奇迹的时刻 小结 统一声明

项目场景   银行项目,出于安全性考虑,无法连接外网; 平常安装 python 第三方库,直接 pip install xxx 即可,一般的包会自动连带安装好相关依赖包,但在这里行不通…… 解决方案 怎么办呢?

在这里插入图片描述 打住……上错表情包了 在这里插入图片描述 还能怎么办,干就完了,离线安装!!!

补充

后期踩坑过程中,找到了更有效的解决方法,请移步:离线安装python包_补充

第一步:先正常安装

  由于我环境上之前就有装 python,所以为了试验,这里安装另一个新的 python,如何在同一台电脑上安装不同版本的python并可以正常运行呢?其实直接安装即可,安装之后再重命名一下 python.exe 比如:修改 python.exe 为 python36.exe,效果如下图: 在这里插入图片描述   原理和环境变量有关,环境变量里的第一个指向 python.exe 的会被执行,其他的python.exe 都不会被运行,重命名后,就是第一个指向 python3.6.exe 或者 别的 pythonx.x.exe 了,就会被执行 在这里插入图片描述 言归正传,现在使用 python36.exe 来安装

1.先查看都有哪些库 python36 -m pip list

在这里插入图片描述

2.根据提示,先升级一下 pip python36 -m pip install --upgrade pip

在这里插入图片描述

3.开始安装,这里拿 pyautogui 来试验 python36 -m pip install pyautogui

在这里插入图片描述 可以看到,装了一堆其他的库啊…… 再查看现在都有哪些库 在这里插入图片描述 .啊……这……还好,也没有很多“隐藏的”依赖库 在这里插入图片描述 这时候把库导出来到 wtf.txt 里……当然,规范来讲是 requirements.txt ……可这是在线安装才需要导出来,我这导出来有 *** 的 ** 用……

python36 -m pip freeze >> requirement.txt

在这里插入图片描述 那……一个个下载吧(有时间有能耐的可以写个爬虫,我这就不试了,别问,问就是不会) 在这里插入图片描述

第二步:下载并安装离线包 1.上 PyPi 搜 相关 离线包

在这里插入图片描述

2.选择版本

  版本的选择,首先要根据上面 pip list 指定的版本去选,如果 Download files 里头没有相关的版本,则去 Release history 里找,里面是历史版本 在这里插入图片描述 版本如何看呢? 比如: Pillow-8.3.1-1-cp36-cp36m-win_amd64.whl (3.2 MB)   以及 Pillow-8.3.1-cp36-cp36m-win32.whl (2.8 MB) Pillow-X.x.x-x 版本号 cp36 —> 适用于 python 3.6.x,大多数解释器都是 cpython,一般说的 python 也是指 cpython amd64 —> 适用于 64 位操作系统 win32 —> 适用于 32 位操作系统

另外,还有类似   pyflakes-2.3.1-py2.py3-none-any.whl (68.8 kB)   的 py2.py3-none-any —> 适用于 python2.x 以及 python3.x;适用于 32/64 位操作系统,也不限制 windows 还是 linux 等,就是 any,无限制,下这个就对了!

可以看到这里只有一个,即类似   PyAutoGUI-0.9.53.tar.gz (59.0 kB)   的,是 tar.gz 包,具体 和 whl 包的差异没仔细看,但我离线安装方式一样,简单地说,对我而言没区别~但我个人更倾向于 whl 包

3.下载所有需要的包,并 pip 安装

  根据刚刚的 pip list ,逐个下载(还别说,可能找个现成的爬虫会来得更快……) 在这里插入图片描述   可以看到,这里还有 zip 的,那先拿它来试试(我这里试验的时候需要卸载python36,再安装python36,确保一切都是最开始的样子,再断网,用这些第三方库离线包来安装……为什么不用python虚拟环境?因为害怕有什么幺蛾子~)

python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyTweening-1.0.3.zip

在这里插入图片描述   先尝试安装,再根据提示,把需要做的补好,比如这里,PyTweening-1.0.3.zip 装不上,因为 pip 版本不够高,提示是在线升级 pip 的方法,咱这使用 离线安装升级 pip 的方法

python36 -m pip install C:\Users\big_c\Desktop\test_20210813\pip-21.2.4-py3-none-any.whl

  安装升级好 pip 后,再安装 PyTweening,发现 .zip 或者 .tar.gz 或者 .whl,命令格式都是一样的,都是类似

python -m pip install XXX_abs_path.xxx.whl

  那真的要一个个慢慢装吗?是,但也不是!因为你不知道安装顺序,不知道需要重复多少次才能真正安装好,所以偷个懒,写个小代码

import os dir_path = r'C:\Users\big_c\Desktop\test_20210813' for file in os.listdir(dir_path): print(f'python36 -m pip install {os.path.join(dir_path, file)}') r""" 运行效果: python36 -m pip install C:\Users\big_c\Desktop\test_20210813\MouseInfo-0.1.3.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\Pillow-8.3.1-1-cp36-cp36m-win_amd64.whl python36 -m pip install C:\Users\big_c\Desktop\test_20210813\pip-21.2.4-py3-none-any.whl python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyAutoGUI-0.9.53.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyGetWindow-0.0.9.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyMsgBox-1.0.9.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\pyperclip-1.8.2.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyRect-0.1.4.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyScreeze-0.1.27.tar.gz python36 -m pip install C:\Users\big_c\Desktop\test_20210813\PyTweening-1.0.3.zip python36 -m pip install C:\Users\big_c\Desktop\test_20210813\setuptools-40.6.2-py2.py3-none-any.whl """

  把运行结果拷贝到命令行,执行过程会报错,没关系,拷贝执行几次即可,因为已经安装的并不会报错,当然你也可以把安装好了的删掉,安装过程肯定会更快点……直到最后 pip list 和在线安装的 pip list 相同 在这里插入图片描述   比如像这样之后,就可以删除 pillow 以及 pip 的安装命令 最后,剩下三个库一直无法安装: 在这里插入图片描述 在这里插入图片描述

分别是:PyMsgBox、PyScreeze 以及 PyAutoGUI 但查看 setuptools,版本是符合要求的,很奇怪,与其说很奇怪,不如说…… 在这里插入图片描述 原来我一开始喜欢 .whl 格式的是没错的!!!

4.解决疑难杂症

  刚刚那搞不定的几个包,除了最后一个,有可能是需要依赖前面的库而无法安装之外,PyMsgBox、PyScreeze 的提示都是和 setuptools 有关,换一个安装方法: 这里参考了网上的一点资料:window下python怎么离线安装tar.gz

4.1 先将这两个库分别解压

在这里插入图片描述 解压后均可看到有个 setup.py 文件

4.2 使用 setup.py 安装

当前目录下,按住 shift + 鼠标右键,选择 “在此处打开 Power 窗口”,打开 powershell

python36 setup.py install

在这里插入图片描述 我又尝试了普通的 cmd 命令框,也可以执行(但这里就需要使用绝对路径,因为不在其目录下) 在这里插入图片描述 接下来最后一步了,安装我们一开始想安装的第三方库: pyautogui !!!(我还用回 pip 的方法,当然解压后再用 setup.py 也是可以的) 在这里插入图片描述

5.见证奇迹的时刻

在这里插入图片描述 查看下库的安装情况,并 import 一把 ! 在这里插入图片描述 没有报错!!!!!!!

小结

1.先在能联网的电脑上,pip 安装想要安装的第三方库 2.查看所有的库及其版本 pip list 3.将所有的库下载到本地,并移动到目标电脑上 4.逐个离线安装,先使用简单的方法:pip 5.安装不上的,将其解压,使用其包里的 setup.py 来安装 6.全部安装好后,不要嘚瑟,import 成功了才是成功! 7.不得不感叹,pip 是真的强大(当然,连网后才是真的强大!) 8.人生苦短,最好连网

统一声明

1.本文为原创博客,原创实属不易,若转载请注明出处,感谢~ 2.关于原创博客内容,可能会有部分内容参考自互联网,如有原创链接会声明引用;如找不到原创链接,在此声明如有侵权请联系删除哈~ 3.看完有帮助,点个赞呗,多谢了~ 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3