python总结:关于pip命令的一切,到底怎么用?

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/

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
社会演员多的头像社会演员多普通用户
上一篇 2023年11月30日
下一篇 2023年11月30日

相关推荐