当前位置: 首页 > news >正文

提升 Python 包下载速度的利器:cnpip

在中国大陆的 Python 开发者可能都遇到过这样的问题:使用 pip 安装 Python 包时,下载速度非常慢,甚至有时会因为网络问题导致安装失败。这种情况通常是因为默认的 pip 镜像源(https://pypi.org/simple)位于国外,网络连接不稳定,导致下载速度受限。

为了解决这个问题,很多国内的高校和公司都提供了 pip 镜像源,比如清华大学、阿里云等。这些镜像源可以大大加快包的下载速度,但手动切换镜像源可能对一些开发者来说不太方便。为此,我推荐一款专为中国大陆用户设计的命令行工具——cnpip,它可以帮助你快速切换 pip 镜像源,并自动选择最快的镜像源。

为什么选择 cnpip

cnpip 是一个简单易用的命令行工具,专为中国大陆用户设计,旨在解决 pip 包下载速度慢的问题。它的主要功能包括:

  • 自动测试镜像源速度cnpip 可以自动测试多个国内镜像源的连接速度,并根据测试结果自动选择最快的镜像源。
  • 手动或自动切换镜像源:你可以手动选择某个镜像源,也可以让 cnpip 自动为你选择最快的镜像源。
  • 支持多种国内镜像源cnpip 支持清华大学、阿里云、中国科学技术大学等多个国内知名的 pip 镜像源,确保你总能找到一个速度最快的源。

如何安装和使用 cnpip

cnpip 的安装非常简单,只需要通过 pip 安装即可:

pip install cnpip

安装完成后,你可以使用以下命令来自动切换为最快的镜像源:

cnpip set

这将会测试所有支持的镜像源,并自动选择速度最快的源。

你也可以使用 list 命令查看所有可用的镜像源及其连接速度:

cnpip list

示例输出:

镜像名称       耗时(ms)     地址
--------------------------------------------------
ustc         135.71       https://pypi.mirrors.ustc.edu.cn/simple
aliyun       300.77       https://mirrors.aliyun.com/pypi/simple
tuna         499.51       https://pypi.tuna.tsinghua.edu.cn/simple
default      1252.75      https://pypi.org/simple
douban       error        https://pypi.douban.com/simple

从上面的输出可以看到,cnpip 会根据连接速度对镜像源进行排序,并标记无法连接的镜像源(如豆瓣)。你可以根据这个结果手动选择某个镜像源,或者让 cnpip 自动为你选择最快的源。

cnpip 支持的镜像源

目前,cnpip 支持以下国内的 pip 镜像源:

  • 清华大学 TUNA
  • 阿里云
  • 中国科学技术大学
  • 豆瓣(目前可能无法连接)
  • 默认源

这些镜像源都是国内知名的 pip 镜像源,能够大大提升包的下载速度。

cnpip 的更多功能

除了自动选择最快的镜像源,cnpip 还提供了其他实用的功能:

  1. 手动选择镜像源:如果你有偏好的镜像源,可以通过以下命令手动设置:

    cnpip set <镜像名称>
    

    例如,设置清华大学的镜像源:

    cnpip set tuna
    
  2. 恢复默认的 pip 镜像源:如果你想恢复为默认的 pip 镜像源,可以使用以下命令:

    cnpip unset
    

    这将会取消自定义的镜像源设置,恢复为 https://pypi.org/simple

cnpip 的优势

  • 简单易用cnpip 的命令非常简单,几乎不需要学习成本。只需运行一条命令,它就能自动为你选择最快的镜像源。
  • 节省时间:通过自动选择最快的镜像源,cnpip 可以大大缩短 pip 包的下载时间,尤其是在下载大型包时效果更加明显。
  • 专为中国大陆用户设计cnpip 针对中国大陆的网络环境进行了优化,支持多个国内镜像源,确保你能够获得最佳的下载体验。

http://www.mrgr.cn/news/48078.html

相关文章:

  • 【mybatis】详解 # 和 $ 的区别,两者分别适用于哪种场景,使用 $ 不当会造成什么影响
  • SharpDX 从入门到精通:全面学习指南
  • Netty ByteBuf 的零拷贝(Zero Copy)详解
  • 什么是根服务器?有什么作用?
  • 下划线表示任意单个字符引发的bug
  • flask-admin的modelview 实现list列表视图中扩展修改状态按钮
  • Datawhale 组队学习 文生图 Prompt攻防 task01
  • 解释Flask框架中的session和request对象
  • 模型预测控制工具包——ACADO:通过Cmake构建自己的优化问题
  • lnmp - RBAC方案设计与实现
  • 使用阿里云盘将服务器上的文件上传/下载到云盘/服务器
  • MySQL数据库详细学习要点
  • 纯干货!详解Java并发之线程中断机制
  • Docker理念
  • Android Studio 安装和认识
  • SpringBoot集成Redis
  • 牛上脑和各类牛排的叫法,不要土老帽了~
  • v-html里面的标签设置样式没有用怎么办?
  • 【Linux调试工具】gdb/cgdb
  • 文件之间的输入输出
  • 在python中如何判断回文串(一)?
  • Linux内核 --内存管理之 Slab 分配器介绍
  • 太速科技-628-基于VU3P的双路100G光纤加速计算卡
  • Docker 入门篇
  • 【前端碎片记录】大文件分片上传
  • 【selenium】webdriver测试脚本