文章目录

  • ​​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 <command> [options]

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


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

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


功能

命令

显示pip版本信息

​pip --version​

显示帮助

​pip​​​ 或 ​​pip 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 下载加速

  ​​<package>​​改为要安装的Python包的名字

//使
pip install -i https://mirrors.aliyun.com/pypi/simple/ <package>

//使
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <package>

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安装目录和版本信息

Python 的包管理工具:pip_镜像源

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


​PyPI 官网​


Python 的包管理工具:pip_镜像源_02

二、pip 的使用


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


(一)添加环境变量

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

Python 的包管理工具:pip_pip_03

  如果忘记勾选,可以自行将Python的以下两个路径添加到 PATH 环境变量中 (如何添加环境变量这里不再赘述,可以自行搜索)


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


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

Python 的包管理工具:pip_包名_04

(二) 命令行打开方式

1. 通过 Windows 运行工具


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


Python 的包管理工具:pip_pip_05

2. 通过 Windows 搜索 打开

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

Python 的包管理工具:pip_镜像源_06

Python 的包管理工具:pip_镜像源_07



(三) pip 的基础使用


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


1. pip 帮助

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

Usage:
pip <command> [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> Path to a verbose appending log.
--no-input Disable prompting for input.
--proxy <proxy> Specify a proxy in the form [user:passwd@]proxy.server:port.
--retries <retries> Maximum number of retries each connection should attempt (default 5 times).
--timeout <sec> Set the socket timeout (default 15 seconds).
--exists-action <action> Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup,
(a)bort.
--trusted-host <hostname> Mark this host or host:port pair as trusted, even though it does not have valid or any
HTTPS.
--cert <path> 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> Path to SSL client certificate, a single file containing the private key and the
certificate in PEM format.
--cache-dir <dir> Store the cache data in <dir>.
--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 <feature> Enable new functionality, that may be backward incompatible.
--use-deprecated <feature> Enable deprecated functionality, that will be removed in the future.

2. 查看版本信息

命令

Python 版本信息

python --version

pip 版本信息

pip --version

更详细的pip信息

pip show pip

Python 的包管理工具:pip_pip_08

3. 安装第三方包


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


Python 的包管理工具:pip_pip_09


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


Python 的包管理工具:pip_镜像源_10

3.1 普通安装

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

pip install <package>

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

//package
pip install -i <> <package>

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

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

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 <package>
pip install -U <package>

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

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

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_包名_11

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_python_12

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 <镜像源地址>​​​ 选项即可,​​<package>​​ 为实际要安装的包名:

pip install <package> -i <>

  命令如下图所示:

//使
pip install -i https://mirrors.aliyun.com/pypi/simple/ <package>

//使
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <package>

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


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


  清华PyPI镜像源

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

Python 的包管理工具:pip_pip_13

5.2 阿里云PyPI镜像源


​阿里云开源镜像站​


阿里云PyPI镜像源

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

Python 的包管理工具:pip_python_14

5.3 镜像源的使用

5.3.1 临时使用镜像源下载

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

pip install -i <> <package>
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_包名_15

  (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/ <package>

//使
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ <package>

全局配置默认从阿里云镜像源中下载:

  配置之后,以后下载就无需手动设置下载源,使用​​pip install <package>​​ 命令即可。

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_python_16

解决方案:


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


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


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


Python 的包管理工具:pip_python_17

多说一句


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


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

Python 的包管理工具:pip_镜像源_18

Python 的包管理工具:pip_包名_19