首页 > 其他分享 >【补充】pip换源

【补充】pip换源

时间:2023-08-19 17:13:41浏览次数:40  
标签:cn 补充 pypi simple 换源 edu pip 镜像

【pip介绍】

  • pip是Python的包管理器,用于下载和安装第三方库。
  • 由于pypi(Python Package Index)是全球范围内的镜像站点,所以中国用户从国外的pypi下载包时速度可能会较慢。
  • 因此,为了提高下载速度,我们可以将pip源切换到国内的镜像站点。

【一】为什么要换源

1. pip install 下载比较慢

  • 由于国内用户访问国外服务器网络延迟较高,所以从国外的pypi下载包的速度较慢。
  • 这主要是因为网络传输距离远、网络带宽有限等原因导致的。
  • 因此,使用国内的镜像源可以大大提高下载速度。

2. 第三方包都在 pypi 上,国外的,下载起来比较慢

  • 大部分第三方Python包都托管在pypi上,而pypi是一个全球性的镜像站点。
  • 当国内用户下载这些包时,需要通过国际互联网进行访问和下载,因此受到网络延迟和网络拥塞等因素的影响,导致下载速度相对较慢。

【二】临时换源

  • 当我们只需要临时使用国内的镜像源来下载包时,我们可以在执行pip install命令时,通过添加"-i"参数指定要使用的源地址。

  • pip install -i 源地址(清华,阿里,豆瓣)

  • "源地址"可以是国内常见镜像源的地址

    • 例如清华大学、阿里云、豆瓣等提供的镜像站点地址。
  • 通过将源地址添加到命令中,pip会临时使用该地址作为下载源,从而加快下载速度

【三】永久换源

  • 如果我们希望持久地将pip的下载源切换到国内的镜像源,使得每次使用pip install命令都能够自动从国内镜像站点下载包

【四】永久换源步骤

【1】Windows

  • 在文件地址栏中输入 %APPDATA% 并按回车键,快速打开 "C:\Users\你的电脑用户名\AppData\Roaming" 文件夹。
  • 在该文件夹中新建一个名为 pip 的文件夹(如果已存在则无需创建)。
  • 进入 pip 文件夹,在其中创建一个名为 pip.ini 的配置文件。
  • 将以下内容写入 pip.ini 文件中:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors = true
mirrors = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

【2】Mac/Linux

  • 打开终端。
  • 输入以下命令,在用户根目录下创建一个名为 .pip 的隐藏文件夹(如果已存在则无需创建):
mkdir ~/.pip
  • 进入 .pip 隐藏文件夹并创建一个名为 pip.conf 的配置文件:
cd ~/.pip && touch pip.conf
  • 使用文本编辑器(如 vi 或 nano)打开 pip.conf 文件,并将以下内容写入其中:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors = true
mirrors = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn

【补充】镜像源参考

【补充】封自己的包

  • 根据提供的信息来看,您希望了解关于如何封装和使用公司自己的Python包(whl文件)以及如何搭建私有源来存放这些包的详细步骤。
  • 以下是对这些内容的详细解释:

【1】封装自己的包(whl文件):

  • 首先,确保你已经编写好并测试通过了你的Python代码。
  • 然后,使用Python的打包工具(例如setuptools)将你的代码打包成一个发布包。在你的项目根目录下创建一个setup.py文件,并在其中定义你的项目相关信息(如名称、版本、作者等),以及所需的依赖项。
  • 接下来,使用打包工具(例如wheel)将你的项目构建为一个whl文件。运行以下命令在终端中生成whl文件:
    python setup.py bdist_wheel
    
  • 完成上述步骤后,你将获得一个名为dist的文件夹,里面包含了你的whl文件。

【2】搭建私有源:

  • 私有源是用来存放公司自己封装的包的服务器。
  • 首先,在一台具有稳定网络连接的服务器上安装一个Python包管理器(例如PyPI、Nexus等)。
  • 然后,配置该包管理器,设置正确的访问权限以及相关设置,使其能够成为私有源。
  • 将公司封装的包(whl文件)上传到私有源中,确保相关依赖项也已经上传。
  • 在使用这些包的项目中,将pip安装源指向你所搭建的私有源。可以通过在命令行中运行以下命令来实现:
    pip install --index-url=你的私有源地址 包名
    

【3】总结:

  • 当你需要封装自己的Python包时,首先将代码打包成一个whl文件,然后将该文件上传到搭建好的私有源中。
  • 在项目中,将pip安装源指向你的私有源,以便安装和使用这些自定义包。

标签:cn,补充,pypi,simple,换源,edu,pip,镜像
From: https://www.cnblogs.com/dream-ze/p/17642695.html

相关文章

  • 【补充】软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    【补充】软件开发模式对比(瀑布、迭代、螺旋、敏捷)【1】瀑布模式(WaterfallModel):介绍:瀑布模式是一种线性的开发模式,各个阶段按顺序依次执行,每个阶段严格依赖前一阶段的输出。开发过程划分为需求分析、系统设计、编码、测试和运维等阶段。每个阶段的结果都在下一个阶段开始......
  • 【Maven】打包补充依赖的操作记录
    题外话每次搞maven环境,总是觉得很痛苦,痛苦的根源源于,无从下手。要说maven有多难,自然也不能这样说,究竟也是因为没有系统地去学习,和没有把踩过的坑积累成经验,以至于每一次都踩差不多的坑,浪费相当的时间,打击相当的信心,于是觉得这是一道铜墙铁壁。每每遇到这些环境问题,首先就觉得,......
  • python pip国内镜像源使用
    清华:https://pypi.tuna.tsinghua.edu.cn/simple阿里云:http://mirrors.aliyun.com/pypi/simple/中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/华中理工大学:http://pypi.hustunique.com/山东理工大学:http://pypi.sdutlinux.org/豆瓣:http://pypi.douban.com/simple/......
  • shell命令-补充
    1.whilewhilereadline 实现输出符合要求的行2.case基本结构进阶:在case外套用while实现循环输出实现简易计算器:3.grep作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrin......
  • 一文玩转Apipost
    前言Apipost是一款支持RESTfulAPI、SOAPAPI、GraphQLAPI等多种API类型,支持HTTPS、WebSocket、gRPC多种通信协议的API调试工具。除此之外,Apipost还提供了自动化测试、团队协作、等多种功能。这些丰富的功能简化了工作流程,提高了研发效率,这也让Apipost成为开发人员首选的API......
  • 一文玩转Apipost
    前言 Apipost是一款支持RESTfulAPI、SOAPAPI、GraphQLAPI等多种API类型,支持HTTPS、WebSocket、gRPC多种通信协议的API调试工具。除此之外,Apipost还提供了自动化测试、团队协作、等多种功能。这些丰富的功能简化了工作流程,提高了研发效率,这也让Apipost成为开发人员首选的A......
  • 票据系统(补充)
    关于票据系统设计在之前的博客中也聊过,今天做一个补充1、架构票据系统主要就是和票交所进行交互,围绕这一核心,我们把系统划分为三大部分,分别是:票据网关服务、票据业务服务、票据库存服务。网关服务:对接票交所,负责和票交所的交互,主要是收发报文。业务服务:负责票据业务的处理,比如......
  • Linux内核开发分析补充
    总目录一.内核入门篇1.1module_init的优先级---分析1.2linuxkernel大内核锁BKL......
  • 如何用Apipost实现sign签名?
    我们平常对外的接口都会用到sign签名,对不同的用户提供不同的apikey,这样可以提高接口请求的安全性,避免被人抓包后乱请求。如何用Apipost实现sign签名?可以在Apipost中通过预执行脚本调用内置的JS库去实现预执行脚本是在发送请求之前自动执行的JavaScript代码sign签名生成分为如下几......
  • 如何用Apipost实现sign签名?
    我们平常对外的接口都会用到sign签名,对不同的用户提供不同的apikey,这样可以提高接口请求的安全性,避免被人抓包后乱请求。如何用Apipost实现sign签名?可以在Apipost中通过预执行脚本调用内置的JS库去实现预执行脚本是在发送请求之前自动执行的JavaScript代码sign签名生成分为如......