Python PIP包管理器

Python PIP包管理器

Python的标准库是一个包含大量可直接使用的模块和包的集合。除了这些包之外,Python程序员经常需要使用某些第三方库。第三方Python包存储在一个名为Python包索引(Python Package Index)的存储库中 (https://pypi.org/) 。

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

PIP实用工具会随Python的标准发行版自动安装,特别是从3.4版本开始。它位于Python安装目录下的scripts文件夹中。 例如,在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

在 scripts 文件夹中同时存在 pip 和 pip3。如果使用 pip 安装某个包,将安装与 Python 2.x 兼容的版本。因此,要安装与 Python 3 兼容的版本,请使用 pip3。

安装包

要从 PyPi 安装某个包,请使用 install 命令和 PIP。以下命令将 Flask 库安装到当前的 Python 安装中。

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。

  • 使用本地项目目录。

  • 使用本地或远程源存档。

使用requirements.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实用工具与以下命令一起使用 –

pip uninstall

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

语法

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)?

pip list

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

语法

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

pip show

此命令显示有关一个或多个已安装包的信息。输出为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:

pip freeze

此命令以 requirements 格式输出已安装的包。所有的包按照不区分大小写的排序顺序列出。

语法

pip3 freeze

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

pip3 freeze > requirements.txt

pip download

此命令根据需求规范从以下源下载软件包−

  • 使用需求规范从PyPI(和其他索引)下载。

  • 使用版本控制系统的项目URL。

  • 使用本地项目目录。

  • 使用本地或远程源归档文件。

实际上,pip download与pip install执行相同的分辨和下载操作,但它不安装依赖项,而是将下载的分布集合到提供的目录中(默认为当前目录)。此目录以后可以作为值传递给pip install –find-links,以便支持离线或受限制的软件包安装。

语法

pip3 download somepackage

pip search

该命令会搜索PyPI软件包,其名称或摘要包含给定的查询。

语法

pip3 search query

pip配置

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

子命令

  • **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下载”命令配置10秒的超时时间。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程