@[toc]
⛳️ 写文的原因
学习 Python 的过程中,经常会使用 pip 命令去安装第三方模块,但细细琢磨下来,我真的掌握这款工具了吗?
本文为你全面揭示一下 pip 包管理工具的使用!
⛳️ pip 简介
pip 是 Python 默认集成的包管理工具,而其本质就是 Python 标准库中的一个包,只是比较特殊一些,可以管理其它包,从 Python2.7 开始,Python 安装包中默认装载了 pip,而且如果使用虚拟环境,即使用 virtualenv 或 pyvenv,pip 也会默认同步到环境中。
如果安装 Python 环境之后,发现 pip 不存在,也可以选择 get-pip.py 进行重安装。
pip 具备以下优点:
- 提供了安装,展示等细致功能;
- 完美支持虚拟环境;
- 可以通过 requirements.txt 批量管理包;
- 可以处理二进制格式文件,特指 .whl,顺便推荐以下常用的 .whl 包下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/
- 携带回滚功能,安装失败会自动清理相关包。
pip 安装/移除包
直接在命令行输入 pip,即可唤醒相应说明,其语法格式为 pip <command> <options> 即 pip 关键字 命令 参数。使用 pip -V 可以直接查看当前版本。
C:\Users\Admin>pip -V pip 20.2.3 from c:\users\admin\appdata\local\programs\python\python38\lib\site-packages\pip (python 3.8)如果希望升级 pip 本身,直接使用 pip install --upgrade pip 即可。
首先要学习的两个命令,也是最常用的命令,如下所示:
pip install xxx pip uninstall xxx安装包和移除包,在使用的时候,如果希望出现帮助文档,可以直接输入 pip install 然后回车,提示如下内容:
ERROR: You must give at least one requirement to install (see "pip help install") WARNING: You are using pip version 20.2.3; however, version 22.2.2 is available. You should consider upgrading via the 'c:\users\admin\appdata\local\programs\python\python38\python.exe -m pip install --upgrade pip' command.然后遵循其提示,输入 pip help install,可以得到命令使用说明,其内容非常多,不过最常用的依旧是 pip install 包名 或者 pip install -r requirements.txt,二者都是对第三方包进行安装。安装包的同时,还可以对包版本进行控制,命令如下:
# 最新版本 pip install package # 指定版本 pip install package==1.0.4 # 最小版本 pip install 'package>=1.0.4'移除已安装包,使用 pip uninstall 包名 命令,相应的也可以使用 pip uninstall -r requirements.txt 批量移除包。
升级包和查看已安装包
对已安装包进行升级,使用的命令如下所示:
pip install -U 包名 pip install 包名 --upgrade不过在实战中升级包应用最广泛的是移除包之后,在安装新版本包。
查看已安装包清单,使用 pip list 命令。使用 pip list -o 命令,可以查看可升级的包,展示如下:
C:\Users\Admin>pip list -o -i https://pypi.tuna.tsinghua.edu.cn/simple Package Version Latest Type ----------- ------- ------ ----- pycodestyle 2.8.0 2.9.1 wheel setuptools 49.2.1 63.4.1 wheel如果希望查看某安装包的详细信息,可以使用 pip show 包名 进行查阅,例如查看 requests 详细信息。
C:\Users\Admin>pip show requests Name: requests Version: 2.28.1 Summary: Python HTTP for Humans. Home-page: https://requests.readthedocs.io Author: Kenneth Reitz Author-email: me@kennethreitz.org License: Apache 2.0 Location: c:\users\admin\appdata\local\programs\python\python38\lib\site-packages Requires: charset-normalizer, certifi, urllib3, idna Required-by:如果想要查看所有安装包的版本信息,可以使用 pip freeze 命令。
C:\Users\Admin>pip freeze autopep8==1.6.0 certifi==2022.6.15 charset-normalizer==2.1.0 idna==3.3 pycodestyle==2.8.0 requests==2.28.1 toml==0.10.2 urllib3==1.26.11该命令还可以将模块包及对应的版本号输出到文件中。
pip freeze > requirements.txt搜索包
原 pip search 包名 已经不能使用了,官方将 PyPI 的 search 功能将被无限期封掉了,所以忽略吧。