python离线安装软件包,常用pip安装软件源网址
pip离线安装
使用背景
我们平时遇到很多pip安装软件的软件源的问题,一会儿这慢一会儿那慢,常见的软件源如下:
豆瓣:http://pypi.douban.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
阿里云:https://mirrors.aliyun.com/pypi/simple/
百度:https://mirror.baidu.com/pypi/simple
但!有时我们也会遇到不能使用源的情况,这个时候就需要下面的方法了。
新思路
新思路:其实我们的可以离线下载完整的软件包,然后本地离线安装。单独下载的包一般都是以(.whl)为后缀的。所以,我们需要找到一个可以离线下载这些包的地方。这个网站是 python三方库官网: https://pypi.org/
情况一:单独下载单个python软件离线包
1.我们从python三方库官网里,输入需要的软件名字
2.在搜索到的软件列表中,点开你需要的软件
打开后,界面如下图,直接点击Download files,找到你的软件版本,cp38代表软件包对应的python版本3.8,win_x86_64对应windows 64位操作系统。
3.软件包下载完毕就可以,到windows对应的本地环境里面,使用命令安装:
pip install 文件路径
比如:
pip install aiohttp-3.7.4.post0-cp37-cp37m-win_amd64.whl
情况二:多个python包离线批量安装
其实离线多个软件包安装才是实际的,很少遇到只是安装一个包的情况,多个包之间相互,这才是依赖环境的常态。但是,要安装多个包时,轮流单独安装包会遇到并行依赖问题,所以得一次性批量安装多个python包离线批量安装,方法如下:
首先,新建一个文档requirements.txt
在requirements.txt里面写入你的安装包的名字,以及版本(建议)比如我的内容如下:
frozenlist==1.3.3
aiosignal==1.3.1
asynctest==0.13.0
chardet==5.1.0
async-timeout==4.0.2
typing-extensions==4.5.0
aiohttp==3.8.4
yarl==1.8.2
multidict==6.0.4
attrs==22.2.0
openai==0.27.2
然后,使用命令批量安装
运行命令:
pip install --find-links=./ -r requirements.txt
上面的命令 find-links参数 就是文件路径。
这里,因为我将requirements.txt与批量离线Python软件包放在同一文件夹。所以路径是“./”
运行命令之后,就能看到结果。
再然后,初次安装多半会报错
多个软件包依赖的时候,我们是不知道要依赖那些包的,所以只能失败提示寻找依赖。
如果你看到类似这样的报错:
ERROR: Could not find a version that satisfies the requirement AAA>=1.1.0 (from BBB) (from versions: none)
ERROR: No matching distribution found for AAA>=1.1.0
这个报错原因是:
要想安装BBB软件包,需要版本软件AAA,而现在没有与BBB软件包匹配的的软件AAA。
你需要继续到python三方库官网: https://pypi.org/ 下载相应的缺失软件。
再把安装包的名字,以及版本添加到requirements.txt中。
再次运行命令:
pip install --find-links=./ -r requirements.txt
最终
Successfully installed
补充
有些python离线软件包没有.whl的版本。而是一个包含setup.py的文件。运行命令安装:
python setup.py install