Python-PIP


Python 的标准库是大量即用型模块和包的集合。除了这些包之外,Python 程序员还经常需要使用某些第三方库。第三方 Python 包托管在名为 Python Package Index (https://pypi.org/)的存储库上。

要从此存储库安装包,您需要包管理器工具。PIP 是最流行的包管理器之一。

PIP 实用程序会随 Python 标准发行版自动安装,尤其是 3.4 及以上版本。它位于 Python 安装目录内的脚本文件夹中。例如,当Windows计算机上安装了Python 3.11时,您可以在C:\Python311\Scripts文件夹中找到pip3.exe。

如果默认没有安装pip,可以通过以下步骤安装。

从以下 URL 下载 get-pip.py 脚本 -

https://bootstrap.pypa.io/get-pip.py

要从命令提示符安装运行以上脚本 -

c:\Python311>python get-pip.py

在脚本文件夹中,pip 和 pip3 都存在。如果使用 pip 安装某个包,则会安装其 Python 2.x 兼容版本。因此,要安装 Python 3 兼容版本,请使用 pip3。

安装包

要从 PyPi 安装某个包,请使用带有 PIP 的安装命令。以下命令在当前的 Python 安装中安装 Flask 库。

pip3 install flask

该包及其依赖项(如果有)将从 PyPI 存储库安装。上面的命令在终端中生成以下日志 -

Collecting flask
   Downloading Flask-2.2.3-py3-none-any.whl (101 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
101.8/101.8 kB 3.0 MB/s eta 0:00:00
Collecting Werkzeug>=2.2.2
   Downloading Werkzeug-2.2.3-py3-none-any.whl (233 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
233.6/233.6 kB 7.2 MB/s eta 0:00:00
Collecting Jinja2>=3.0
   Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
133.1/133.1 kB 8.2 MB/s eta 0:00:00
Collecting itsdangerous>=2.0
   Downloading itsdangerous-2.1.2-py3-none-any.whl (15 kB)
Collecting click>=8.0
   Downloading click-8.1.3-py3-none-any.whl (96 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
96.6/96.6 kB 5.4 MB/s eta 0:00:00
Requirement already satisfied: colorama in
c:\users\mlath\appdata\roaming\python\python311\site-packages (from
click>=8.0->flask) (0.4.6)
Collecting MarkupSafe>=2.0
   Downloading MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl (16 kB)
Installing collected packages: MarkupSafe, itsdangerous, click,
Werkzeug, Jinja2, flask
Successfully installed Jinja2-3.1.2 MarkupSafe-2.1.2 Werkzeug-2.2.3
click-8.1.3 flask-2.2.3 itsdangerous-2.1.2

默认情况下,会安装所需软件包的最新可用版本。要指定所需的版本,

pip3 install flask==2.0.0

要测试包安装是否完成,请打开Python解释器并尝试导入它并检查版本。如果软件包尚未成功安装,您将收到 ModuleNotFoundError。

>>> import flask
>>> print (flask.__version__)
2.2.3
>>> import dummypackage
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'dummypackage'

PIP 实用程序适用于 -

  • 使用需求说明符的 PyPI(和其他索引)。

  • VCS 项目 URL。

  • 本地项目目录。

  • 本地或远程源档案。

使用需求.txt

您可以通过在名为requirements.txt 的文本文件中提及所需软件包的列表来立即执行软件包安装。

例如,以下requirements.txt 文件包含要为FastAPI 库安装的依赖项列表。

anyio==3.6.2
click==8.1.3
colorama==0.4.6
fastapi==0.88.0
gunicorn==20.1.0
h11==0.14.0
idna==3.4
pydantic==1.10.4
sniffio==1.3.0
starlette==0.22.0
typing_extensions==4.4.0
uvicorn==0.20.0

现在在 PIP 安装命令中使用 -r 开关。

pip3 install -r requirements.txt

PIP 实用程序与以下命令一起使用 -

点卸载

该命令用于卸载一个或多个已安装的软件包。

句法

pip3 uninstall package, [package2, package3, . . ]

这将卸载软件包以及依赖项。

例子

pip3 uninstall flask

在继续之前,系统会要求您确认删除。

pip3 uninstall flask
Found existing installation: Flask 2.2.3
Uninstalling Flask-2.2.3:
   Would remove:
   c:\python311\lib\site-packages\flask-2.2.3.dist-info\*
   c:\python311\lib\site-packages\flask\*
   c:\python311\scripts\flask.exe
Proceed (Y/n)?

点值列表

此命令给出已安装的软件包列表,包括可编辑的软件包。包按不区分大小写的排序顺序列出。

句法

pip3 list

pip list 命令可以使用以下开关 -

-o, --outdated: 列出过时的软件包

pip3 list --outdated
Package     Version    Latest     Type
--------    -------    -------    -----
debugpy     1.6.6      1.6.7      wheel
ipython     8.11.0     8.12.0     wheel
pip         22.3.1     23.0.1     wheel
Pygments    2.14.0     2.15.0     wheel
setuptools  65.5.0     67.6.1     wheel

-u, --uptodate : 列出最新的软件包

pip3 list --uptodate
Package           Version
--------          --------- -------
click             8.1.3
colorama          0.4.6
executing         1.2.0
Flask             2.2.3
jedi              0.18.2
Jinja2            3.1.2
python-dateutil   2.8.2
pyzmq             25.0.2
six               1.16.0
Werkzeug          2.2.3

点秀

此命令显示有关一个或多个已安装软件包的信息。输出采用符合 RFC 的邮件标头格式。

句法

pip3 show package

例子

pip3 show flask
Name: Flask
Version: 2.2.3
Summary: A simple framework for building complex web applications.
Home-page: https://palletsprojects.com/p/flask
Author: Armin Ronacher
Author-email: armin.ronacher@active-4.com
License: BSD-3-Clause
Location: C:\Python311\Lib\site-packages
Requires: click, itsdangerous, Jinja2, Werkzeug
Required-by:

点冻结

此命令以需求格式输出已安装的软件包。所有包均按不区分大小写的排序顺序列出。

句法

pip3 freeze

可以使用以下命令将该命令的输出重定向到文本文件 -

pip3 freeze > requirements.txt

点下载

此命令从以下位置下载软件包 -

  • 使用需求说明符的 PyPI(和其他索引)。

  • VCS 项目 URL。

  • 本地项目目录。

  • 本地或远程源档案。

事实上,pip download 的解析和下载与 pip install 相同,但它不是安装依赖项,而是将下载的发行版收集到提供的目录中(默认为当前目录)。稍后可以将此目录作为值传递给 pip install --find-links 以方便离线或锁定软件包安装。

句法

pip3 download somepackage

点子搜索

此命令搜索名称或摘要包含给定查询的 PyPI 包。

句法

pip3 search query

点配置

该命令用于管理本地和全局配置。

子命令

  • list - 列出活动配置(或来自指定的文件)。

  • edit - 在编辑器中编辑配置文件。

  • get - 获取与 command.option 关联的值。

  • set - 设置command.option=value。

  • unset - 取消设置与 command.option 关联的值。

  • debug - 列出配置文件及其下定义的值。

配置键应该是点分隔的命令和选项名称,带有影响任何命令的特殊前缀“global”。

例子

pip config set global.index-url https://example.org/

这将为所有命令配置索引 url。

pip config set download.timeout 10

这将为“pip download”命令配置 10 秒超时。