pip详解

news2025/1/25 4:38:16

看这篇文章的目录,大家会发现写的很详细,适合收藏哦。如果你是刚学python的小白也没关系!看完这篇文章,关于pip的一切你就懂了。

关于pip的命令需要使用命令行,那么打开命令行界面:

  • win+s/win+r快捷键都行,然后输入cmd后回车就能调出命令行界面了

一、pip设置国内源:

python以入门简单和丰富的第三方库著称,所以关于python的第三方库安装,也显得非常重要。python要安装第三方库,用的是pip包管理工具, 而pip 也已内置于 Python 3.4 和 2.7 及以上版本,可以直接使用。

例如最常用的安装操作:

pip install package_name

但是你会发现下载速度差强人意,只有几k每秒,甚至会报红提示错误,这是因为python官方的地址在国内不是很稳定,所以我找到了几个国内的第三方镜像,我们可以使用这些地址作为下载源,这样就能解决pip下载慢的情况。

  • 清华大学: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
  • 网易: https://mirrors.163.com/pypi/simple
  • 华为:https://repo.huaweicloud.com/repository/pypi/simple
  • 腾讯:https://mirrors.cloud.tencent.com/pypi/simple

那么

1.1如何本地配置源

1.1.1 方法1:下载的时候指定地址

例如我们在下载包的命令后面,加上-i指令和对应的地址,就可以从这个地址下载包

pip install package_name -i https://pypi.tuna.tsinghua.edu.cn/simple
1.1.2 方法2:使用pip命令生成配置文件

上面那种方法很好,但是每次都要定义一下也太麻烦了吧,所以这次我们使用pip的config set命令,在电脑上生成一个配置文件。

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

但是有时候,在下载包的时候,会提示没有信任的host,所以还要另外加上一个命令

pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn

此时我的电脑提示,已经在以下路径生成了一个配置文件,

Writing to C:\Users\我的电脑名称\AppData\Roaming\pip\pip.ini

1.1.3 方法3:自定义配置文件

我们可以在上述方法2的配置文件基础上进行修改,也可以在%HOMEPATH%\路径下,也就是C:\Users\我的电脑名称\这个路径下面,新建一个pip文件夹,然后在pip文件夹下,创建一个pip.ini的文档。

这两个位置的pip.ini配置文件都可以生效,如果同时存在的话,会优先使用\AppData\Roaming文件夹下的配置文件。

pip.ini的文件内容如下:

此时可以设置单独的一个地址:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

想把所有能用的都加上也可以:

在我的实际体验来说,把这么多地址全加上,不一定更快,我的体验是反而比只加单个的慢,可能是网址太多了,每个都去查询了一遍,反而速度慢了。

[global]
index-url = https://pypi.org/simple
extra-index-url= 
  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
  https://mirrors.163.com/pypi/simple
  https://repo.huaweicloud.com/repository/pypi/simple
  https://mirrors.cloud.tencent.com/pypi/simple
[install]
trusted-host = 
  pypi.tuna.tsinghua.edu.cn
  mirrors.aliyun.com
  pypi.douban.com
  pypi.mirrors.ustc.edu.cn
  mirrors.163.com
  repo.huaweicloud.com
  mirrors.cloud.tencent.com

二、在线下载

2.1单个下载:

正常情况下我们使用install命令就可以

pip install package_name

哎,如果你想要指定版本呢,也可以设定。

pip install package_name == 版本号

版本号管理有以下几种格式:

  • == 指定版本号

  • => 高于此版本号

  • <= 小于此版本号

  • < 小于此版本号

  • > 大于此版本号

2.2批量下载:

有时候我们要下载很多个包,这个时候应该怎么办呢?我这里提供了四种办法,可以让你批量下载。

2.2.1方法1:命令行添加多个包

我们在命令行上,将几个包之间用空格分开即可:

pip install package1 package2 package3
2.2.2方法2:使用freeze生成文件

在pip中,有一个freeze命令,可以将电脑上的python第三方包统一导出,导出格式是:package==版本号,一般用txt来存储和导入(txt文件的名称可以自定义,不一定非要用requirements)。

# 将包信息导出为txt
pip freeze > requirements.txt

# 导入并安装文件中有的包
pip install -r requirements.txt

2.2.3方法3:在代码中下载

当然了,我们还能用代码批量下载,本质就是用代码来运行cmd命令,不喜欢用命令行的朋友,写代码也是一样的。

可以使用:pip.main()方法

import pip
pip.main(["install", "package1", "package2", "package3"])

也可以使用os.system()方法:

import os
os.system("pip install package1 package2 package3")

三、离线下载

有时候你无法在线联网下载第三方库,一些内网、实验室、敏感涉密的单位会有这样的需求,所以可以先在其他设备上下载好第三方包,通过U盘或者其他方法,把文件放到我们的无网电脑上,然后通过pip在本地安装。

3.1离线下载地址:

python离线库地址:

[荧光动力学实验室(LFD)]

https://www.lfd.uci.edu/~gohlke/pythonlibs/

[python官方索引]

https://pypi.org/

当然了,在前文中的国内镜像也可以下载,但是我通过网址进入后,因为内容太多,网页就卡死了,没办法检索需要什么包。所以更推荐上面的两个网址,可以进去检索后再下载。

3.2离线下载的包格式:

进入上面的pypi网址,检索到需要的包后,进入下载页面,此时你会发现,下载选项中有非常多的格式,这个时候你可能会头晕眼花,不过不要慌,我研究以后发现,格式其实分为三大类,

  • 源包格式:.tar.gz,这个是所有平台都能用的压缩包,体积大。

  • 构建版本(一般是.whl格式,仅针对对应的平台,体积小)

    • win版本:

    ​       arm64:一般是平板或者手机的架构

    ​       amd64:windows电脑的64位架构

    ​       win32:windows电脑的32位架构

    • Linux版本
    • macos版本

下载的时候,记得下载依赖库,例如某个库A需要是依赖库B才能运行的,所以库A和B都要下载。

在查询资料的时候,我以为amd64的架构是amd的cpu才能用,结果发现并不是这样,intel和amd的电电脑,都是使用的amd64架构,在使用pip inspect 命令检查后,发现确实如此:platform_machine": “AMD64”,。

3.3离线安装.tar.gz格式包

1.首先将.tar.gz格式的文件解压,这里我使用的解压软件是7z,一个开源的解压软件。你有解压软件的话也可以用其他的(比如好压、winrar什么的),没有的话推荐你使用这款解压软件,非常好用。

7z下载地址:https://www.7-zip.org/

注意的是,这个包有好几层,所以我是先打开这个包,然后一层一层的点进去,然后把最后那层文件夹拖出来。如果直接解压的话,是一个tar的压缩包,需要再解压一次。

2我们进入解压好的文件夹,然后通过shift+鼠标右键的方式,在右键菜单中找到:在此处打开power shell窗口的选项,这样我们进入命令行页面后,默认就是当前位置。

(我看有些教程说要把解压好的文件夹放到python-lib文件夹下,我尝试的时候发现并不需要,随便放哪儿都可以,只要你运行命令行)

此时输入下面的命令运行即可

pyhton setup.py install

3然后就安装成功了,可以通过pip list命令检查是否安装成功。

3.4离线安装.whl格式包
3.4.1安装单个.whl包

和上文一样,我们通过shift+鼠标右键的方式,进入power shell窗口,然后就像正常的install一样,输入命令即可。

例如:

pip install xlrd-2.0.1-py2.py3-none-any.whl

这里需要注意的是:

  • 包的名称不要随便改,虽然很长懒得打,但是你可以复制到命令行;包的名称是有规则的,更改后破坏规则会无法安装。
  • 如果你是从其他入口进去的,path使用绝对路径也可以

注意安装顺序:先安装底层依赖库

3.4.2批量安装.whl包:

方法1:使用命令行安装

如果你在联网设备上已经有了成熟的环境,那么直接拷贝之前的环境即可。

pip freeze > requirements.txt

pip download -d 下载文件夹 -r requirements.txt

pip install --no-index --find-links=下载文件夹 -r requirements.txt

方法2:使用代码安装

当然,你可也可以使用代码,和第二章:线上下载章节中提到的一样,核心也是通过代码来运行命令行语句。

因为是本地安装,涉及到了本地文件地址,pip的方法就不太合适了,这里使用了os库。

引用os库进行安装:

import os

# 你的下载包文件夹地址
whl_dir = "C:\\Users\test\Downloads\source"

# 使用循环执行安装命令
for file_name in os.listdir(whl_dir):
    file_path = os.path.join(whl_dir, file_name)
    os.system("pip install %s" % file_path)

四、所有pip命令的总结

在上面的部分,我使用了很多的命令行,你可能会有疑问,这些指令和格式都是从哪里知道的呢?不看别人写的文章,还有什么渠道能查到呢?其实在pip的包里,就有各种命令的文档,我们可以自己研究。

在命令行中仅输入pip然后回车,就能看到pip的基础使用文档,在这章中,我会给出中文释义,以及我使用这些命令的一些示例。

对应的每个command命令,其实也有自己的一些方法和选项,例如我想知道search命令怎么使用,可以在命令行输入:

pip help search

或者

pip search -h

这样pip会列出来search的使用文档,具体的用法一看便知。

4.1 pip命令的格式

我们在命令行页面,直接输入pip并且回车,会给出一大堆提示消息这是关于如何使用pip命令的指南,现在我来一一使用并列出对应的例子。

用法格式:

 pip <command> [options]
 # 解释 pip 命令关键字 选项关键字
 # 例如 pip list --format json (意思是:列出安装的第三方包,格式为json)
4.2 command命令详解。
commands命令释义解释示例(举例ddt库)
install安装包pip install ddt(安装ddt)
download下载包pip download ddt(下载ddt)
uninstall卸载包pip uninstall ddt(卸载ddt)
freeze将本地已经安装的第三方包列表,输出requirements格式pip freeze > test.txt (将本地包信息输出到test.txt文件中)
inspect检查python环境pip inspect(检查环境)
list列出所有安装的python的第三方库pip list(列出所有第三方库)
show显示某个包的信息pip show ddt(展示ddt包的信息)
check检查某个安装包是否有依赖项pip check ddt(检查ddt是否有依赖包)
config管理本地和全局的配置pip config list(查看配置项)
search从PyPI 搜索包pip search ddt(搜索ddt包)
cache检查和管理pip的缓存pip cache info(查看缓存信息)
index检查包索引中的可用信息pip index versions ddt(查看ddt包的历史版本)
wheel根据需要构建wheels(跟download很像,具体区别我也不清楚)pip wheel ddt(下载ddt)
hash计算某个包的哈希值pip hash C:\Users\package\ddt.whl(计算ddt文件的哈希值)
completion用于完成命令的辅助命令。pip completion list --powershell(输出命令对应的代码)
debug显示对调试有用的信息。pip debug list(输出list命令的debug信息)
help显示命令的帮助信息pip help list(显示list命令的用法)
4.3 General Options:通用选项详解
General Options通用选项中文释义
-h, --help展示帮助项
–debug让未处理的异常在主子程序之外传播,而不是记录它们到stderr
–isolated在隔离模式下运行pip,忽略环境变量和用户配置。
–require-virtualenv允许pip只在虚拟环境中运行;否则将退出并返回错误。
–python使用指定的Python解释器运行pip
-v, --verbose提供更多输出。选项是可添加的,最多可使用3次。
-V, --version显示版本
-q, --quiet输出更少。选项是可添加的,最多可使用3次(对应于WARNING、ERROR和CRITICAL日志记录级别)。
–log日志,并且定义路径
–no-input禁用输入提示
–keyring-provider <keyring_provider>如果允许用户输入,则通过密钥环库启用凭据查找。指定要使用的机制[disabled,import,subprocess]。(默认设置:禁用)
–proxy以scheme://[user:passwd@]proxy.server:port的形式指定代理
–retries每个连接应尝试的最大重试次数(默认为5次)
–timeout设置连接超时长(默认为15秒)
–exists-action路径已存在时的默认操作:(s)witch(i)gnore(w)ipe(b)ackup(a)bort
–trusted-host将此主机或host:port对标记为受信任,即使它没有有效的HTTPS或任何HTTPS
–certPEM编码的CA证书捆绑包的路径。如果提供,则覆盖默认值。请参阅“SSL”有关详细信息,请参阅pip文档中的“证书验证”。
–client-certSSL客户端证书的路径,一个包含私钥和PEM格式的证书。
–cache-dir将缓存数据存储在
–no-cache-dir禁用缓存
–disable-pip-version-check不要定期检查PyPI来确定是否有新版本的pip可供下载
–no-color不用彩色输出
–no-python-version-warningpython不被支持时,发出警告
–use-feature启用可能向后不兼容的新功能。
–use-deprecated启用不推荐使用的功能,这些功能将来将被删除。

五、文档资料

  • python官方文档https://docs.python.org/zh-cn/3/contents.html

  • python中文指南:https://python.iswbm.com/index.html

  • 菜鸟pythonhttps://www.runoob.com/python3/

  • w3chttps://www.w3cschool.cn/python3/

  • 官方pip文档https://packaging.python.org/en/latest/tutorials/installing-packages/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1454272.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(免费领源码)java+springboot+mysql面向高校的知识共享与交流平台74022-计算机毕业设计项目选题推荐

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对面向高校的知识共享与交流平台等问题&#…

信息技术教资科3选择题相关知识点

目录 一.数据压缩 1.无损压缩 2.有损压缩 二.计算题 三.Excel表 四.powerpoint 五.Photoshop 六.FLASH动画 1.动画类型 2.鼠标动作命令 3.动作命令 七.人工智能的应用领域 八.网络相关 八.并行接口和串行接口 九.HTML标签 十.其他知识点 若你是计算机相关专业…

通过MetricsAPI监控pod资源使用情况(k8s资源监控,java)

1. 目的&#xff1a;简单监控pod 我想使用java监控k8s pod的资源的简单使用情况&#xff0c;但是k8s内部并没有采集资源的实现。 但是k8s提供了一套k8s的对接标准&#xff0c;只要适配这套标准&#xff0c;就可以通过kubelet采集资源数据&#xff0c;并且通过k8s api服务器输出…

Java使用Documents4j实现Word转PDF(知识点+案例)

文章目录 前言源码获取一、认识Documents4j二、快速集成2.1、pom.xml依赖2.2、word转PDF实现项目目录WordUtils.javaDemo6.java测试效果 参考文章资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里…

idea的tab标签多行显示

idea的tab标签多行显示 进入idea的setting页面&#xff0c;取消勾选下图所示 设置数量 然后点击应用后就会发现你的标签页面可以多行显示了&#xff01;

【STM32 CubeMX】SPI层次结构SPI协议与SPI控制器结构

文章目录 前言一、SPI 程序层次1.1 硬件原理图1.2 硬件框图1.3 软件层次 二、SPI协议2.1 硬件连线2.2 如何访问SPI设备2.3 SPI 框图 总结 前言 随着嵌入式系统的迅猛发展&#xff0c;STM32系列微控制器在各种应用中得到广泛应用。在嵌入式系统设计中&#xff0c;串行外设接口&…

linux系统Grafana安装

Grafana安装 介绍安装服务器下载浏览器访问 介绍 Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器。Grafana 是开源的&#xff0c;功能齐全的度量仪表盘和图形编辑器&#xff0c;支持 Graphite&#xff0c;InfluxDB 和 OpenTSDB。 Grafana 主要特性&#xff1a;灵活丰富的…

27. Remove Element(移除元素)

问题描述 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出…

央视龙年春晚沈腾马丽第八度联手,紧张到嘴瓢引发全场哄笑。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 除夕夜&#xff0c;华灯初上&#xff0c;央视龙年春晚的舞台上…

羊大师揭秘,如何挑选出好牧场的奶羊,该怎么看

羊大师揭秘&#xff0c;如何挑选出好牧场的奶羊&#xff0c;该怎么看 了解牧场的管理和环境&#xff1a;好的牧场应该有规范的管理制度&#xff0c;环境整洁&#xff0c;草场茂盛&#xff0c;为奶羊提供了充足的食物和良好的生活环境。在这样的牧场中&#xff0c;奶羊能够得到…

深度学习基础之《TensorFlow框架(3)—TensorBoard》

一、TensorBoard可视化学习 1、TensorFlow有一个亮点就是&#xff0c;我们能看到自己写的程序的可视化效果&#xff0c;这个功能就是TensorBoard 2、TensorFlow可用于训练大规模深度神经网络所需的计算&#xff0c;使用该工具涉及的计算往往复杂而深奥。为了方便TensorFlow程…

Open CASCADE学习|分割

目录 1、添加头文件与源文件 GEOMAlgo_Splitter.h GEOMAlgo_Splitter.cpp 2、测试 2.1平面分割立方体 2.2以边分面 2.3以面分面 1、添加头文件与源文件 GEOMAlgo_Splitter.h // Copyright (C) 2007-2019 CEA/DEN, EDF R&D, OPEN CASCADE//// Copyright (C) 2003-2…

【打工日常】使用docker部署Dashdot工具箱

一、Dashdot介绍 dashdot是一个简洁清晰的服务器数据仪表板&#xff0c;基于React实现 &#xff0c;主要是显示操作系统、进程、存储、内存、网络这五个的数据。 二、本次实践介绍 1. 本次实践简介 本次实践部署环境为个人测试环境 2. 本地环境规划 本次实践环境规划&#xf…

解锁Spring Boot中的设计模式—02.解释器模式:探索【解释器模式】的奥秘与应用实践!

解释器模式 1.简介 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为设计模式&#xff0c;它用于定义语言的文法&#xff0c;并且解释语言中的表达式。在Java中&#xff0c;解释器模式可以用于构建解释器以解析特定的语言或表达式&#xff0c;如数学表达式、…

x86使用内敛汇编实现简单的临界段保护

临界资源保护 实现方法 禁用中断 __attribute__((used)) static inline uint32_t read_eflags (void){uint32_t eflags;ASM_V("pushf\n\tpop %%eax":"a"(eflags));return eflags; } __attribute__((used)) static inline void write_eflags (uint32_t e…

002 GIS数据的基本格式

1 地理空间信息 地理空间信息的数据模型是现实世界的特征组到理想状态的简化或抽象&#xff0c; 并且可以在各种GIS软件的用户使用层&#xff08;结构化&#xff09;模型有很多。 该层模型由多个空间数据的分层构建&#xff0c;如 图 1.5 。 根据内容&#xff0c;离散特征信息…

Win32汇编数组学习2

之前学习过win32汇编数组&#xff1b;还不熟悉&#xff1b;继续熟悉&#xff1b; 先做几个基本的对话框&#xff0c;有一个静态文本框&#xff1b; 定义数组之后&#xff0c;用 wsprintf 函数格式化&#xff0c;然后调用 SetDlgItemText 赋值给静态文本框&#xff1b; arr1 …

ARM 之十六 详解 CMSIS 版本变迁、各组件使用示例

目前,CMSIS 已经发展到了第六版,其目录结构也发生了重大的变化。在不断发展中,很多原来 CMSIS 的组件被不断独立出去,并因此成立了很多开源社区,今天就来学习一下! 由于 CMSIS 已经包含了相当丰富的文档,因此,本文重点学习版本之间的变化以及一些实际使用示例。 什么是…

第11章 GUI

11.1 Swing概述 Swing是Java语言开发图形化界面的一个工具包。它以抽象窗口工具包&#xff08;AWT&#xff09;为基础&#xff0c;使跨平台应用程序可以使用可插拔的外观风格。Swing拥有丰富的库和组件&#xff0c;使用非常灵活&#xff0c;开发人员只用很少的代码就可以创建出…

2024年还在持续热门的头像壁纸项目,取图小程序是怎么搭建的,头像壁纸项目为什么还在持续有在发展分析看文

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 一、壁纸取图小程序项目为什么可以这么久还能兴起&#xff1f; 二、壁纸取图小程序功能介绍 1.功能介绍 总结 前言 兴起了好几年的壁纸取图小程序项目目…