python安装三方库教程:关于pip命令的一切,到底怎么用?

news2024/9/23 23:29:25

python安装三方库教程:关于pip命令的一切,到底怎么用?

    • 一、pip设置国内源:
      • 1.1如何本地配置源:
        • 1.1.1 方法1:下载的时候指定地址
        • 1.1.2 方法2:使用pip命令生成配置文件
        • 1.1.3 方法3:自定义配置文件
    • 二、在线下载
      • 2.1单个下载:
      • 2.2批量下载:
        • 2.2.1方法1:命令行添加多个包
        • 2.2.2方法2:使用freeze生成文件
        • 2.2.3方法3:在代码中下载
    • 三、离线下载
      • 3.1离线下载地址:
      • 3.2离线下载的包格式:
      • 3.3离线安装.tar.gz格式包
      • 3.4离线安装.whl格式包
        • 3.4.1安装单个.whl包
        • 3.4.2批量安装.whl包:
    • 四、所有pip命令的总结
      • **4.1 pip命令的格式**
      • 4.2 command命令详解。
      • 4.3 General Options:通用选项详解
    • 五、文档资料

  看这篇文章的目录,大家会发现写的很详细,适合收藏哦。如果你是刚学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:使用命令行安装

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

# 使用freeze获取当前环境的包
pip freeze > requirements.txt

# 批量下载包,你可以指定一个文件夹下载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
–cert PEM编码的CA证书捆绑包的路径。如果提供,则覆盖默认值。请参阅“SSL”有关详细信息,请参阅pip文档中的“证书验证”。
–client-cert SSL客户端证书的路径,一个包含私钥和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/464670.html

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

相关文章

vue---组件通信

目录 1、组件跨层级访问 &#xff08;1&#xff09;$emit &#xff08;2&#xff09;$root 、 $parent、$refs 2、依赖注入 3、透传及组件二次封装 组件间通信的三种方案&#xff1a; 1、组件跨层级访问&#xff0c;2、依赖注入,3、透传&#xff08;用于组件二次封装&…

React Hooks 钩子函数错误用法,你还在犯这些错误吗

React Hooks 常见错误 前言 本片文章主要是在写react hooks的时候&#xff0c;遇到的常见错误的写法&#xff0c;和错误。也是一个对只是的巩固和总结。 错误一 上代码&#xff1a;正确写法 function TestReactHooksError() {const [test, setTest] useState(test);useEff…

论文阅读:PVO: Panoptic Visual Odometry

全景视觉里程计、同时做全景分割和视觉里程计 连接&#xff1a;PVO: Panoptic Visual Odometry 0.Abstract 我们提出了一种新的全景视觉里程计框架PVO&#xff0c;以实现对场景运动、几何和全景分割信息的更全面的建模。我们将视觉里程计(VO)和视频全景分割(VPS)在一个统一的…

【hello Linux】进程间通信——匿名管道

目录 前言&#xff1a; 总结下上述的内容&#xff1a; 1. 进程间通信目的 2. 进程间通信的分类 1. 匿名管道 2. 匿名管道的使用 1. 匿名管道的创建 2. 使用匿名管道进行父子间通信 Linux&#x1f337; 前言&#xff1a; 进程具有独立性&#xff0c;拥有独立的数据、代码及其他…

人工智能时代来临,殊不知低代码早已出手

科普一下人工智能的等级划分&#xff0c;按照实力&#xff0c;人工智能可以分为弱人工智能(Artificial Narrow Intelligence&#xff0c;简称ANI)、强人工智能(Artificial General Intelligence简称AGI)、超人工智能(Artificial Superintelligence简称ASI)三个等级。 弱人工智能…

Windows下 批量重命名文件【bat实现】

目录 前言 一、Windows简单实现重命名 二、使用命令行和Excel实现重命名 前言 在实际应用中&#xff0c;我们经常会遇到将指定文件夹下的文件重命名&#xff0c;以便程序读写。 本文介绍了两种方式&#xff0c;都是在Windows系统中自带的重命名方式。 一、Windows简单实现…

面试题目 002

分享一位读者面试美团 java 岗位的面经。主要在考察 javamysql 算法题目 最长回文串 根据前序中序恢复二叉树 说一说 MySQL 的索引 MySQL 的索引是一种存储数据结构&#xff0c; 按照数据结构划分&#xff0c;MySQL 可以分为 B 树索引、Hash 索引、全文索引 按照 B 树的叶子…

Windows云主机崩溃了怎么办?

​  无法避免服务器崩溃已不是什么秘密&#xff0c;无论选择Windows 云主机还是 Linux 云主机。但不可否认的是&#xff0c;任何错误都可能给企业带来灾难性的后果。该怎么办?持续监控服务器是可能的解决方案之一。即便如此&#xff0c;如果服务器已经处于关闭阶段&#xff…

机器学习实战教程(十):逻辑回归

概述 逻辑回归&#xff08;Logistic Regression&#xff09;是一种用于解决二分类或多分类问题的统计学习方法。它以自变量线性组合的形式进行建模&#xff0c;并使用Sigmoid函数将结果映射到[0, 1]的值域内&#xff0c;表示样本属于某个类别的概率。 Logistic Regression是最…

6个好用的企业管理软件推荐

企业管理软件的范围很广&#xff0c;财务、人力、客户关系管理、ERP、客户体验管理等等。国内来看&#xff0c;有些企业管理软件产品能覆盖企业数字化所有部分&#xff0c;在每个领域&#xff0c;也有很突出的头部厂商&#xff0c;产品功能和服务都大幅领先于竞对&#xff0c;我…

Redis学习笔记大全

文章目录 1、redis概述和安装1.1、安装redis1.2、启动redis方式1&#xff1a;前台启动&#xff08;不推荐&#xff09;方式2&#xff1a;后端启动&#xff08;推荐&#xff09; 1.3、关闭redis1.4、进入redis命令窗口1.5、redis命令大全1.6、redis介绍相关知识 2、redis 5大数据…

PyTorch实战3:天气识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章&#xff1a;365天深度学习训练营-第P3周&#xff1a;天气识别&#x1f356; 原作者&#xff1a;K同学啊|接辅导、项目定制 目录 一、前期准备1、导入数据2、transforms.Compose详…

JavaWeb+JSP内置对象+Session+Cookie+ 过滤器Filter+ 监听器Listener(超详细)

&#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;老茶icon &#x1f64a; ps:点赞&#x1f44d;是免费的&#xff0c;却可以让写博客的作者开兴好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#xff0c;计…

从 Milvus 2.2 到 2.2.6,我们是如何持续稳定升级的

最近&#xff0c;Milvus 发布了 2.2.6 版本&#xff0c;在修复了一些 bug 后&#xff0c;Milvus 变得越发稳定。 事实上&#xff0c;自 Milvus 升级至 2.X 版本以来&#xff0c;我们一直在努力改进及优化&#xff0c;推出了诸如从文件中批量导入数据、基于磁盘的近似最近邻&…

通过ppt制作圆形图标及自定义形状图形制作

今天做PPT时&#xff0c;需要一个圆形的截图&#xff0c;日常截图都是方形的&#xff0c;能不能把截图裁剪为一个圆形呢&#xff1f;于时从网上找了一下&#xff0c;发现还真有。 制作工具&#xff1a;PPT 制作步骤&#xff1a; 1、准备图片 将截图或图片插入PPT中 2、在…

(04)基础强化:接口,类型转换cast/convert,异常处理,传参params/ref/out,判断同一对象

一、复习 1、New的截断是指什么&#xff1f; new除了新开空间创建初始化对象外&#xff0c;还有一个隐藏父类同名方法的作用。 当子类想要隐藏父类同名的方法时用new&#xff0c;用了new后父类同名方法将到此为止&#xff0c;后面 继承的…

electron+vue3全家桶+vite项目搭建【15】vue3+sass实现多主题一键切换,支持electron多窗口同步更新

文章目录 引入实现效果展示实现思路整理实现步骤1.定义全局主题样式变量2.定义主题模板3.封装颜色工具类4.初始化主题色5.主进程监听颜色修改6.补充主题状态管理7.主题一键切换组件8.测试案例 引入 我们之前在这篇文章中集成了 sass&#xff0c;接下来我们结合sass的变量定义&…

银行数字化转型导师坚鹏:宏观经济形势分析与银行发展模式创新

宏观经济形势分析与银行发展模式创新 课程背景&#xff1a; 很多学员存在以下问题&#xff1a; 不知道我国目前的宏观经济形势&#xff1f; 不清楚宏观环境对我国经济的影响&#xff1f; 不知道银行未来主要的发展模式&#xff1f; 课程特色&#xff1a; 精彩解读宏…

最新:机器学习在生态、环境经济学中的实践技术应用及论文写作

查看原文>>>最新&#xff1a;机器学习在生态、环境经济学中的实践技术应用及论文写作 目录 专题一、理论基础与软件介绍 专题二、数据的获取与整理 专题三、常用评价方法与相关软件详细教学&#xff08;案例详解&#xff09; 专题四、写作要点与案例的讲解 近年来…

Redis数据库常用语句

Redis数据库常用语句 前言1. 键(Key)的基本操作1.1 增加新的键值对1.2 访问键的值1.3 修改键值对1.4 键值对的删除1.5 判断键值对是否存在1.6 获取所有键1.7 删除所有的键&#xff1a; 2. Redis 中的列表2.1 列表加入新元素2.2 获取列表长度2.3 获取指定下标的元素2.4 获取指定…