优化1:使用国内镜像仓库
当你使用pip 安装的时候,会经常出现慢,timeout异常,这个时候咋解决,别怕非常简单:
pip install requests==2.6.0 -i https://pypi.douban.com/simple/
这里指定国内的模块仓库地址就可以解决了,这个地址我们网友叫豆瓣源。
如果初选timeout 异常。你就看一大堆的信息里面,有没有timeout关键字,如果有就在后面通过 -i 选项后面接着豆瓣源的地址,就成。
优化2:让原有的模块升级到新版本
如果你的机器上安装了requests,你在次执行安装命令没有任何效果
为了能使用上最新版本的requests, 直接添加--upgrade 升级选项。
python -m pip install --upgrade requests
优化3:条件限定安装模块的版本
如果有这样的需求,安装requests模块不能低于某个版本。或者指定的版本在仓库中不见了,该如何是好,有解决办法
python -m pip install "requests>=2.6.0" # minimum version
当使用比较运算符例如 >, < 或其他某些可以被终端所解析的特殊字符时,包名称与版本号应当用双引号括起来。
优化4:无权时需指定用户安装模块
如果你的服务器不是自己一个人在用,有很多用户再用。并且有严格权限控制。需要把python模块安装到某个用户的下面。并且不需要root权限就能安装模块。
pip install --user poetry
# 会自动安装到C:\Users\Administrator\AppData\Roaming\Python\Python37\Scripts
#linux 通常是 ~/.local/
# Windows 用户的 %APPDATA%\Python
# 你还可以指定用户的基础目录
set PYTHONUSERBASE=c:/myappenv
pythohn -m pip install --user SomePackage
pip 异常: ensurepip
一般linux 默认是不安装pip 的,或者windows 上升级pip,以及环境变量配置问题导致,使用不了pip,解决方式
python -m ensurepip
python -m pip install --upgrade pip
优化5:本地安装第三方模块
利用镜像和缓存,快速进行本地第三方模块安装,
1、在能联网的电脑上,下载你需要的二进制安装包
pip download -r requirements.txt -d "./package" -i https://pypi.douban.com/simple/
2、在本地不能联网的机器上安装离线的二进制安装包
切换到虚拟环境,然后再进行安转:
(ztloo) D:\rd\PyJob\AutoTest\lib>pip install --no-index --find-links=./package
r requirements.txt
注明:不通过联网,即可安装。 还有搭建镜像服务、二进制web服务,这里不过多介绍。
优化6:安装被自己修改过的源码包
源码包一定要去https://pypi.org/ 去寻找对应模块的二进制包
不要去github上作者上传的,因为不知道它用什么打包的,按照他的安装方式,是不行的。
so, 他能把包传到中央仓库,说明那个才是最规范的。
下载好源码包,用解压软件解压,我推荐7-zip 解压缩软件,
解压好之后,把源码中某些文件或代码,替换成你自定义的,你要保证代码没有错误哈,
然后在用用7-ZIP压缩两次即可。
第一次压缩成tar格式,第二次再将第一次的压缩的.tar文件再次用7-ZIP压缩成gzip格式,最终得到的文件就是.tar.gz格式文件。 然后再用pip 指定压缩好的文件,进行安装即可。
pip install pytest-html-3.1.1.tar.gz
优化7:直接使用别人编译好的whl
如果你是window 用户,我推荐你这么干。
https://www.lfd.uci.edu/~gohlke/pythonlibs/
这个网站里面,全都是编译好的windows版本的离线文件,很多,通过ctrl+F 关键字很快就能找到我们想要的包。安装起来也很简单
pip install pandas‑1.4.3‑pp38‑pypy38_pp73‑win_amd64.whl
pandas‑1.4.3‑pp38‑pypy38_pp73‑win_amd64.whl 这个就是我们从这个网站上找到下载的的padnas 的离线安装包。 把它放到你所知道的目录,然后再用pip install 进行安装。
pandas‑1.4.3: pandas 的版本。
pp38‑pypy38_pp73: 应该是支持python3.8
win_amd64: window 平台 amd64位架构的
以上,都是小编,亲测,没有太大的问题,如果遇到问题,可以呼叫小编,如果他没理你,有可能他在睡觉,你尝试用红包叫醒它。
如果你连pip 还是不肾了解:那请看看上一篇文章,pip包管理器详解-1