前言
大家好,我是 🐌蜗牛老师。今天讲在 Python 编程学习或开发中遇到的一个小问题,又是我们经常会遇到的一个问题。那就是切换镜像,因为很多管理第三方资源的服务器都在国外,国内想要去下载网速龟慢,老是下载失败。所以就有一些国内机构或大厂免费提供了镜像服务,就是将国外服务器的资源在国内服务器做个副本,我们从国内服务器下载速度肯定没得说,最起码咱能看见它在下载呀。可以减少我们挠头的次数,在学习初期就保护好我们的发量。
一、pip介绍
Python 的 pip 是 Python 的包管理器,它用于在 Python 环境中安装、升级和管理软件包。它是 Python 标准库中的一个工具,可以通过命令行或脚本使用。
使用 pip ,可以轻松地在 Python 环境中安装和管理第三方软件包。这些软件包包括各种库、框架和工具,用于扩展 Python 的功能和用途。通过 pip,可以搜索、安装、升级和卸载这些软件包。
pip 的命令行语法很简单,大家根据字面意思都能看得懂。常用的命令包括:
pip install <package_name>
pip uninstall <package_name>
pip search <package_name>
pip show <package_name>
pip update
除了命令行使用,pip 还可以通过脚本方式使用。在 Python 脚本中,您可以使用 subprocess
模块调用 pip 命令来执行安装、升级等操作。
需要注意的是 pip 在使用过程中可能会遇到一些问题,如版本不兼容、网络连接问题等。在使用 pip 时,需要确保 Python 环境配置正确,并且遵循最佳实践来管理软件包依赖关系。
二、超时问题
相信小伙伴在使用 pip 安装第三方软件包时经常会遇到如下图的情况,一片红:The read operation timed out(读取操作超时)
pip 默认下载包的服务器是 PyPI(Python Package Index) ,这是一个由 Python 软件基金会维护的全球性软件包索引。PyPI 提供了一个集中的地方,供开发者上传和下载 Python 软件包。
在国内,由于网络环境和 PyPI 服务器的地理位置等因素,可能导致 pip 下载软件包的速度变慢或中断。这主要是因为 pip 需要从 PyPI 服务器下载软件包,而 PyPI 服务器位于国外,国内访问时延较大,尤其是在网络不稳定的情况下,可能会导致连接中断。
为了解决这个问题,可以采取以下措施:
1️⃣使用国内镜像源 :一些第三方机构或个人维护了 PyPI 的镜像服务器,提供了和 PyPI 类似的软件包索引和下载服务。通过配置 pip 使用这些镜像源,可以加快软件包的下载速度,提高稳定性。
2️⃣开启代理服务器:如果网络环境允许,可以设置代理服务器来加速下载速度。一些代理服务器可能会对下载速度有较大的提升。
3️⃣升级pip版本 :有时候,pip 的版本过旧也可能会导致下载问题。升级 pip 到最新版本可能会改善这个问题。
4️⃣使用其他工具或方式下载软件包 :除了使用 pip 直接下载安装包之外,还可以考虑使用其他工具或方式来下载软件包。例如,可以使用第三方工具如 Anaconda 等来安装和管理 Python 软件包,也可以从官网或其他可靠的来源手动下载安装包进行安装。
需要注意的是网络环境是复杂多变的,有时候即使采取了措施也无法保证一定能够解决下载慢或中断的问题。因此,在使用 pip 时,如果遇到下载问题,可以尝试上述方法进行解决,或者寻求相关技术社区的帮助和支持。
三、切换至国内镜像源
其实大部分时候是由于国内到国外服务器下载 Python 软件包网络慢导致的中断,我们直接使用国内镜像源就可以百分之九十九解决这个问题了。
1.操作环境
为什么要确认操作环境,因为不同的环境所导致的结果也不一致,尤其是搞IT的,你我都懂得~
- Windows 11
- Python 3.10.4
- pip 23.2.1
2.切换国内镜像
要对 pip 的镜像切换需要修改其配置文件,我们可以使用 pip config list
查看 pip 的当前配置。
我们发现没有任何输出,怎么回事?🤔那就直接去找 pip 的配置文件吧!
官方文档对 pip 配置文件的位置有介绍哦!🧐
pip 的配置文件位于相当标准的位置。这个位置在不同的操作系统上是不同的,并且由于向后兼容性的原因有一些额外的复杂性。
- 全局 Windows 7 或以上:
C:\ProgramData\pip\pip.ini
(该文件默认隐藏)- 用户
%APPDATA%\pip\pip.ini
可是找了一圈,没有啊,怎么办?🙄
其实我们也不是非得找到配置文件去修改的,使用命令行同样可以切换镜像源。
比如将默认的服务器地址切换为国内清华镜像,具体执行的命令如下:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
这条命令大家应该是可以读懂的:
pip config set
用来设置 pip 的配置global.index-url
设置全局镜像地址
执行后,我们根据提示可以知道,pip.ini
这个配置文件被新建到了 C:\Users\用户名\AppData\Roaming\pip\
文件夹下了,我们去瞧上一眼。🫣
这时候 pip.ini
配置文件有了,我们再次执行 pip config list
,查看配置列表。
有了,这也表明 pip 的镜像源切换成功了。原来安装 Python 后,pip 默认是没有 pip.ini
这个配置文件的。
接下来使用新镜像安装第三方软件包试试吧!🔧
就是快、稳。🚀
四、国内pip镜像源
国内 pip 镜像源包括但不限于以下几种:
- 阿里云Python镜像源 :mirrors.aliyun.com/pypi/simple...
- 豆瓣Python镜像源 :pypi.douban.com/simple/
- 清华大学Python镜像源 :pypi.tuna.tsinghua.edu.cn/simple/
- 中国科学技术大学Python镜像源 :pypi.mirrors.ustc.edu.cn/simple/
- 华中科技大学Python镜像源 :pypi.hustunique.com/
这些镜像源都提供了和 PyPI 类似的软件包索引和下载服务,开发者可以通过配置 pip 使用这些镜像源来加速软件包的下载速度,提高稳定性。
总结
好了,pip 如何切换至国内镜像就讲完了,是不是很简单呢。其实其他的重要软件资源都有国内镜像的。比如 Maven ,它管理的 jar 包也都在国外服务器了,所以也需要切换资源库的地址到国内。还有 Node.js 的包管理者 npm,也需要切换镜像地址到国内。那么至于如何切换?官方文档或关技术社区都有说明哦!