
1. 为什么你的Python包安装总是卡顿每次用pip安装Python包时看着进度条像蜗牛一样缓慢移动是不是特别抓狂这就像你在超市排队结账前面的人非要一张张数硬币付款。其实Python包安装慢的罪魁祸首很简单——默认的PyPI源服务器在国外就像你非要跨越大半个地球去超市买东西。我刚开始用Python时也深受其害特别是安装像TensorFlow这样的大包时经常等上半小时还安装失败。后来发现国内开发者早就找到了解决方案Wheel离线安装和镜像源替换。这两种方法就像在家门口开了家超市分店再也不用跨国购物了。2. Wheel离线安装断网也能装包2.1 Wheel是什么想象你要组装家具可以选择买一堆木板和螺丝自己加工源码安装直接买预制好的部件组装Wheel安装Wheel就是Python包的预制件格式它已经编译好安装时不需要再编译。这带来两个好处安装速度快省去编译时间不依赖网络下载后离线安装2.2 具体操作步骤第一步下载Wheel文件推荐到这些网站找Wheel包PyPI官方https://pypi.org/Unofficial Windows Binarieshttps://www.lfd.uci.edu/~gohlke/pythonlibs/比如要安装numpy搜索时要注意包名numpyPython版本cp36表示Python 3.6系统架构win_amd64是64位系统第二步本地安装下载完成后在文件所在目录打开命令行执行pip install numpy-1.22.3-cp36-cp36m-win_amd64.whl我实测过一个100MB的包用源码安装要15分钟用Wheel只要10秒2.3 常见问题解决问题1报错not a supported wheel on this platform检查Python版本是否匹配cp36对应Python 3.6检查系统位数32位还是64位问题2依赖缺失 有些Wheel包依赖其他包可以先用pip下载依赖pip download numpy --only-binary:all:3. 临时换源快速解决当前安装3.1 国内优质镜像源推荐这些是我常用的国内源速度都很快清华https://pypi.tuna.tsinghua.edu.cn/simple阿里云http://mirrors.aliyun.com/pypi/simple/豆瓣http://pypi.douban.com/simple/中科大https://pypi.mirrors.ustc.edu.cn/simple/3.2 临时使用镜像源安装时加上-i参数即可pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple注意有时会报错提示源不受信任这时需要添加--trusted-hostpip install pandas -i http://pypi.douban.com/simple --trusted-host pypi.douban.com4. 永久换源一劳永逸的配置方法4.1 Windows系统配置打开资源管理器地址栏输入%APPDATA%回车进入pip文件夹没有就新建新建文件pip.ini内容如下[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple trusted-host pypi.tuna.tsinghua.edu.cn timeout 60004.2 Linux/Mac配置在用户目录下创建.pip/pip.confmkdir -p ~/.pip echo [global] index-url https://mirrors.aliyun.com/pypi/simple/ trusted-host mirrors.aliyun.com ~/.pip/pip.conf4.3 验证配置是否生效执行pip config list如果看到你的镜像源地址说明配置成功。5. 高级技巧多源负载均衡如果你经常安装不同的包可以配置多个备用源[global] index-url https://pypi.tuna.tsinghua.edu.cn/simple extra-index-url http://mirrors.aliyun.com/pypi/simple/ https://pypi.mirrors.ustc.edu.cn/simple/这样当主源找不到包时会自动尝试备用源。不过要注意不同源的包版本可能有差异。6. 疑难问题排查指南问题1换源后安装仍然很慢检查网络连接尝试ping镜像源地址看延迟换其他镜像源测试问题2安装时报SSL错误 在pip配置中添加[global] trusted-host pypi.tuna.tsinghua.edu.cn问题3某些包在镜像源找不到 可以临时切换回官方源pip install 包名 -i https://pypi.org/simple7. 实际项目中的应用建议在团队开发中我推荐这样做在项目根目录创建requirements.txt第一行指定镜像源--index-url https://pypi.tuna.tsinghua.edu.cn/simple后面列出所有依赖包这样新成员克隆项目后直接运行pip install -r requirements.txt就能自动使用配置好的镜像源。对于大型项目还可以考虑搭建本地私有源使用工具如devpipypiserver这就像在公司内部建了个小超市所有常用包都有存货安装速度飞快。