Python 的包管理工具:pip

文章目录

  • pip 速览
    • 1. pip常用命令
    • 2. pip 安装命令相关
      • 2.1 pip安装包命令
      • 2.2 pip 下载加速
      • 2.3 全局配置:设置阿里云镜像源为默认下载源
      • 2.4. pip升级命令(阿里云镜像源下载)
  • 一、pip——Python的包管理工具
  • 二、pip 的使用
    • (一)添加环境变量
    • (二) 命令行打开方式
      • 1. 通过 Windows 运行工具
      • 2. 通过 Windows 搜索 打开
    • (三) pip 的基础使用
      • 1. pip 帮助
      • 2. 查看版本信息
      • 3. 安装第三方包
        • 3.1 普通安装
        • 3.2 安装特定版本
        • 3.3 更新包至最新版本
        • 3.4 列出已安装的第三方包
        • 3.5 列出已安装的包中可以升级的包
        • 3.6 以需求格式列出已安装的包及版本
        • 3.7 根据需求文件批量安装库
        • 3.8 更新所有库至最新版
      • 4. 更新pip至最新版本
      • 5. 镜像源
        • 5.1 清华大学开源软件镜像站 PyPI镜像
        • 5.2 阿里云PyPI镜像源
        • 5.3 镜像源的使用
          • 5.3.1 临时使用镜像源下载
          • 5.3.2 配置为默认源
  • 三、pip 其它相关
    • (一)pip 相关问题
      • 1. pip 升级失败:因无权限等原因安装失败
      • 2. pip 下载慢,下载报错
      • 3. 部分命令调用时,显示WARING: Ignoring invalid distriubution

pip 速览

1. pip常用命令

命令格式:pip  [options]

  可以使用pip help来查看 pip 帮助。

  特别地,pip 直接使用 install 命令下载通常比较慢且容易连接中断,可以设置从阿里镜像源下载,这样比较快。

pip install -i https://mirrors.aliyun.com/pypi/simple/ 包名
功能 命令
显示pip版本信息 pip --version
显示帮助 pippip help
显示某个命令的帮助 pip help <命令>
列出已安装的包 pip list
列出可升级的包 pip list --outdated
以需求格式输出已安装的包 pip freeze
将已安装的包信息按需求格式输出到文件中 pip freeze >filename
安装最新版本的包 pip install <包名>
安装指定版本的包 pip install <包名>==<版本号>
根据需求文件安装包 pip install --requirement filename
升级包至最新版本 pip install --upgrade <包名>
安装(更新)指定下载源 pip install <包名> -i <下载源链接>
包卸载 pip uninstall <包名>
显示包信息 pip show <包名>
pip升级至最新版本 python -m pip install --upgrade pip
配置下载源 pip config set global.index-url <下载源>
取消配置下载源 pip config unset global.index-url
列出配置项 pip config list

2. pip 安装命令相关

2.1 pip安装包命令

pip install -i https://mirrors.aliyun.com/pypi/simple/  包名

2.2 pip 下载加速

  改为要安装的Python包的名字

//使用阿里云镜像源
pip install -i https://mirrors.aliyun.com/pypi/simple/ 

//使用清华镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

2.3 全局配置:设置阿里云镜像源为默认下载源

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

  取消默认源的全局配置

pip config unset global.index-url

2.4. pip升级命令(阿里云镜像源下载)

python -m pip install --upgrade -i https://mirrors.aliyun.com/pypi/simple/ pip



一、pip——Python的包管理工具

  pip 是Python 的包管理工具,全称 Package Installer for Python

  现在发布的Python 会自带一个包管理工具 pip,提供 Python 包的查找、下载、安装、卸载等管理功能。有了 pip,我们就可以很方便地从网上下载安装 Python 包 ,来扩展 Python 的功能。

  pip 是和 安装的Python一一对应的,只管理所在的 Python, 如果在电脑中安装了多个 Python,那就需要使用各自的 pip 来管理各自的包。
  可以在命令行中输入 pip --version 命令来查看 pip的版本信息 以及 其对应的Python安装目录和版本信息

在这里插入图片描述

  pip 安装 Python 第三方的包时,只需要知道包名即可。这些包默认是从 Python官方的 PyPI 仓库上下载下来的。

PyPI 官网

Python 的包管理工具:pip_第1张图片

二、pip 的使用

  pip 是一个命令行工具,主要是通过命令行来使用。

(一)添加环境变量

  Python 安装时应勾选 “Add Python 3.x to PATH”,让其自动配置环境变量,这样在使用时只需要输入命令名即可,无需跳转到对应目录。

Python 的包管理工具:pip_第2张图片
  如果忘记勾选,可以自行将Python的以下两个路径添加到 PATH 环境变量中 (如何添加环境变量这里不再赘述,可以自行搜索)

假设 "E:\python\Python38" 是 Python的安装目录

E:\python\Python38
E:\python\Python38\Scripts

Python 的包管理工具:pip_第3张图片

(二) 命令行打开方式

1. 通过 Windows 运行工具

  可以通过快捷键 win + R 调出 Windows 的运行工具,输出 cmd 后按回车即可打开命令行,也可以输入powershell 来打开PowerShell

Python 的包管理工具:pip_第4张图片

2. 通过 Windows 搜索 打开

  在Windows桌面左下角有个放大镜图标,点击后输入 “命令提示符" 来搜索。

在这里插入图片描述
Python 的包管理工具:pip_第5张图片


(三) pip 的基础使用

  使用前先在命令行中输入 pip检查一下pip工具是否可以使用,如果提示: ‘pip’ 不是内部或者外部命令也不是可运行的程序或批处理文件,那么就需要先配置一下Python的环境变量。

1. pip 帮助

  在命令行下,输入pip,按下回车即可看到帮助说明“”

Usage:
  pip  [options]

Commands:
  install                     Install packages.
  download                    Download packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  check                       Verify installed packages have compatible dependencies.
  config                      Manage local and global configuration.
  search                      Search PyPI for packages.
  cache                       Inspect and manage pip's wheel cache.
  index                       Inspect information available from package indexes.
  wheel                       Build wheels from your requirements.
  hash                        Compute hashes of package archives.
  completion                  A helper command used for command completion.
  debug                       Show information useful for debugging.
  help                        Show help for commands.
 
 General Options:
  -h, --help                  Show help.
  --debug                     Let unhandled exceptions propagate outside the main subroutine, instead of logging them
                              to stderr.
  --isolated                  Run pip in an isolated mode, ignoring environment variables and user configuration.
  --require-virtualenv        Allow pip to only run in a virtual environment; exit with an error otherwise.
  -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output. Option is additive, and can be used up to 3 times (corresponding to
                              WARNING, ERROR, and CRITICAL logging levels).
  --log                 Path to a verbose appending log.
  --no-input                  Disable prompting for input.
  --proxy              Specify a proxy in the form [user:passwd@]proxy.server:port.
  --retries          Maximum number of retries each connection should attempt (default 5 times).
  --timeout              Set the socket timeout (default 15 seconds).
  --exists-action     Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,
                              (a)bort.
  --trusted-host    Mark this host or host:port pair as trusted, even though it does not have valid or any
                              HTTPS.
  --cert                Path to PEM-encoded CA certificate bundle. If provided, overrides the default. See 'SSL
                              Certificate Verification' in pip documentation for more information.
  --client-cert         Path to SSL client certificate, a single file containing the private key and the
                              certificate in PEM format.
  --cache-dir            Store the cache data in .
  --no-cache-dir              Disable the cache.
  --disable-pip-version-check
                              Don't periodically check PyPI to determine whether a new version of pip is available for
                              download. Implied with --no-index.
  --no-color                  Suppress colored output.
  --no-python-version-warning
                              Silence deprecation warnings for upcoming unsupported Pythons.
  --use-feature      Enable new functionality, that may be backward incompatible.
  --use-deprecated   Enable deprecated functionality, that will be removed in the future.

2. 查看版本信息

命令
Python 版本信息 python --version
pip 版本信息 pip --version
更详细的pip信息 pip show pip

Python 的包管理工具:pip_第6张图片

3. 安装第三方包

  第三方包在Python中的安装位置:Python目录\Lib\site-packages

Python 的包管理工具:pip_第7张图片

  安装位置可以使用 pip show 显示包信息来查看,Location 项即为包的安装位置。

Python 的包管理工具:pip_第8张图片

3.1 普通安装

  输入以下命令即可在线安装第三方包

pip install 

  默认会从 Python 官方的 PyPI 仓库上下载,网速可能会比较慢且容易出问题。所以可以借国内的一些镜像源来下载,这些镜像源会隔几分钟就与 Python 官方的 PyPI 仓库进行同步。命令加上 -i <下载源地址> 选项即可。

//指定从下载源下载package
pip install -i <下载源地址> 

  可以使用 阿里云PyPI镜像源 下载,速度十分快。

pip install -i https://mirrors.aliyun.com/pypi/simple/ 

3.2 安装特定版本

  安装特定版本的包,可以通过使用 ==, >=, <=, >, <指定版本范围,安装指定版本范围内的最新版本。如果参数的中间包含空格,可以加引号。

pip install PackageName==PackageVersion

//参数中间包含空格,可以使用引号,防止识别出现问题
pip install "PackageName == PackageVersion"

//安装指定版本范围内的最高版本
pip install "PackageName > PackageLowVersion, < PackageHighVersion"

  如安装 Matplotlib 3.5.2 版本

pip install "matplotlib==3.5.2"

3.3 更新包至最新版本

pip install --upgrade 
pip install -U 

  同样,可以使用 阿里云PyPI镜像源 下载。

pip install -i https://mirrors.aliyun.com/pypi/simple/ --upgrade 

3.4 列出已安装的第三方包

pip list

3.5 列出已安装的包中可以升级的包

pip list --outdated
pip list -o

3.6 以需求格式列出已安装的包及版本

命令:

pip freeze

  这个命令可以将当前配置的库环境导出,在另一个新的环境可以根据库环境配置。

  同时,可以使用 >重定向输出到文件中保存,而不只是在命令行中显示。

将当前已安装的库以需求格式输出到文件requirements.txt中:

pip freeze >requirements.txt

  需求格式(requirements format)package==version 的格式,指定了库的版本。

命令执行截图:
Python 的包管理工具:pip_第9张图片

3.7 根据需求文件批量安装库

  当使用了 pip freeze >文件名 将库导出到文件中后,可以根据这个文件来安装库。

pip install -r 需求文件名

3.8 更新所有库至最新版

  可以通过 pip-review 包来完成更新。

  (1) 先下载安装 pip-review

pip install pip-review

  (2) 让 pip-review交互的方式更新本地环境的包

pip-review --local --interactive

  执行后,会一个个地列出可以升级的包。

  可以输入 YN 单独决定是否更新这个包。或者 输入 A 直接更新所有包

Python 的包管理工具:pip_第10张图片

4. 更新pip至最新版本

命令:

python -m pip install --upgradep pip

  与之前的安装不同的是,这次是运行 Python.exe,把 pip 作为模块来运行,而不是直接运行 pip.exe
  如果直接使用 pip install 命令来安装 pip 本身,会因为pip.exe 正在运行而没有权限进行写入,导致安装失败,并且在安装之前会把 pip 卸载掉。如果出现了出这个问题,需要使用以下命令来恢复 pip

python -m ensurepip

5. 镜像源

  使用 pip install 命令安装时,默认从Python官方的PyPI仓库下载,速度可能会比较慢,很容易安装失败。可以使用国内镜像源来加速,加上 -i <镜像源地址> 选项即可, 为实际要安装的包名:

pip install  -i <镜像源地址>

  命令如下图所示:

//使用阿里云镜像源
pip install -i https://mirrors.aliyun.com/pypi/simple/ 

//使用清华镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

5.1 清华大学开源软件镜像站 PyPI镜像

清华大学开源软件镜像站 PyPI镜像使用帮助

  清华PyPI镜像源

https://pypi.tuna.tsinghua.edu.cn/simple/

Python 的包管理工具:pip_第11张图片

5.2 阿里云PyPI镜像源

阿里云开源镜像站

阿里云PyPI镜像源

https://mirrors.aliyun.com/pypi/simple/

Python 的包管理工具:pip_第12张图片

5.3 镜像源的使用

5.3.1 临时使用镜像源下载

  在pip 的安装命令 pip install 上加上一个选项 -i <镜像源地址>即可指定下载源。

pip install -i <镜像源地址> 
5.3.2 配置为默认源

  配置为默认源后,pip 会默认从镜像源下载,而不是 Python官方的PyPI仓库。

  通过 pip 的配置命令,配置 global.index-url 参数即可

pip config set global.index-url <镜像源地址>

  如下所示:设置阿里云镜像源为默认源:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

  设置后还可以使用如下命令来取消默认源设置

pip config unset global.index-url

三、pip 其它相关

(一)pip 相关问题

1. pip 升级失败:因无权限等原因安装失败

问题描述:
  在使用 pip 升级命令进行升级的过程中,Python 会先将旧版本的pip卸载再安装新版本,如果此时因为权限等问题安装失败,那么 pip 会因为被卸载而无法使用。
  命令行执行pip命令会报如下类似的错误:

Traceback (most recent call last):
File “f:\python3.5\lib\runpy.py”, line 170, in _run_module_as_main
“main”, mod_spec)
File “f:\python3.5\lib\runpy.py”, line 85, in run_code
exec(code, run_globals)
File "F:\python3.5\Scripts\pip.exe_main.py", line 5, in
ImportError: No module named ‘pip

  并且想要再次调用原来的pip升级命令python -m pip install --upgrade pip 进行安装时,显示如下报错,这是因为pip已经被卸载了。

No module named 'pip'

解决方案:

  Python中有个 ensurepip 模块是用来安装pip的,可以利用它来对安装pip模块。

  (1)以管理员身份运行 命令行。

Python 的包管理工具:pip_第13张图片

  (2) 再调用以下命令恢复PIP即可 (ensurepip 是Python中用于安装PIP的模块)

python -m ensurepip

  执行后显示 Successfully installed pip-版本即为恢复成功。

  Python除了 pip 外,还有另一个个包管理工具 easy_install,如果 ensurepip模块 也出了问题,可以用其来安装 pip
  命令如下(使用了阿里云镜像源):

easy_install pip -i https://mirrors.aliyun.com/pypi/simple/

  (3) 恢复成功后我们就可以输入以下命令来继续将pip更新到最新版本

python -m pip install --upgrade -i https://mirrors.aliyun.com/pypi/simple/ pip

2. pip 下载慢,下载报错

解决方案
  使用 pip install 命令安装时下载速度可能会比较慢,很容易安装失败。可以使用国内镜像源来加速,加上 -i <镜像源地址> 选项即可。

//使用阿里云镜像源
pip install -i https://mirrors.aliyun.com/pypi/simple/ 

//使用清华镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ 

全局配置默认从阿里云镜像源中下载:
  配置之后,以后下载就无需手动设置下载源,使用pip install 命令即可。

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

3. 部分命令调用时,显示WARING: Ignoring invalid distriubution

问题描述:
  在执行pip list命令时,出现警告

WARNING: Ignoring invalid distribution

Python 的包管理工具:pip_第14张图片
解决方案:

  这其实是之前某次 pip 下载安装包时出了问题,包下载下来后没有安装成功,后续也没有对包文件进行处理,就遗留在了这里。

  打开Pytho的第三方包安装目录,可以看到以~号开头的文件夹,这些就是某次安装失败遗留下来的文件,如下图所示。

把以~号开头的文件夹删除即可

Python 的包管理工具:pip_第15张图片
多说一句

  pip下载下来未安装的包,会先将包名的第一个字符用~号替代,如opencv包,会变成~pencvmatplotlib 包变成 ~atplotlib ,安装完成后再修改回去。

  上图的包名为~ip,实际就是pip包,是pip某次升级时安装失败了。包的实际名字可以在包文件夹dist-info下的METADATA文件中找到

Python 的包管理工具:pip_第16张图片

Python 的包管理工具:pip_第17张图片


你可能感兴趣的:(#,Python,python,pip)