如何在 Windows 中安装 Python 包管理器 pip
判断 Windows 中是否安装了 pip
对于 Windows 系统而言,如果你在 Python 的官方网站下载并安装了 Python 的最新可执行安装包,那么默认会附带安装 pip,除非在自定义安装时未选中 pip 组件,或采用了嵌入式安装包,NuGet 等其他安装方式。
如果不确定 Windows 是否安装了 pip 或 pip 是否可用,可以在命令提示符中输入命令python -m pip --version
。当 pip 可用时,其版本和所在的目录将被显示,否则可能会收到提示No module named pip
。
python -m pip --version
pip 23.2.1 from …\Lib\site-packages\pip (python 3.11)
运行 pip 的可执行文件以判断 Windows 中是否安装了 pip
上述命令python -m pip --version
会让 Python 尝试运行模块pip
(你可以简单的将安装 pip 理解为安装pip
模块),除此之外,直接运行 pip 的可执行文件也是判断 Windows 是否安装了 pip 的一种方式,只需要在命令行中输入命令pip --version
即可(显示 pip 的版本和目录,或类似于“命令不存在”的消息)。事实上,pip 可执行文件本身还是会运行 Python 模块pip
,其运行效果与直接运行模块pip
相同,只不过在命令书写上更加简便。
当然,在某些安装方式中,pip 可行执行文件并非安装的必需项,因此,命令行同样可能会提示类似于“命令不存在”的消息,如果之前安装 pip 时没有选择安装对应的 pip 可执行文件。
pip --version
pip 23.2.1 from …\Lib\site-packages\pip (python 3.11)
在 Windows 中安装 pip 后运行 pip 依然提示 No module named pip
如果的确已在 Windows 中安装了 pip,并且运行命令python -m pip --version
后依然提示No module named pip
,那么问题可能在于 Python 的模块搜索路径并未包含模块pip
所在的目录,此时可以检查 Python 模块搜索路径,以判断是否需要对模块搜索路径进行修改。
模块搜索路径
想要详细了解 Python 的模块搜索路径,你可以查看Python 指南的Python 模块搜索路径介绍,Python 模块搜索路径中的目录有哪些一节。
使用 Python ensurepip 包在 Windows 中安装 pip
你可以简单的使用包ensurepip
来手动安装 pip,但需要确保他的存在,因为并非所有安装都含有ensurepip
,比如包含最少组件的嵌入式安装包。此外,包ensurepip
应该能够被 Python 找到,如果出现了类似于No module named ensurepip
这样的提示,请检查模块搜索路径是否包含ensurepip
所在的目录。
在默认情况下,如果 Python 能在 Windows 中找到任何可用的 pip,那么ensurepip
包将不会继续执行安装(即便指定不同的安装位置),除非使用--upgrade
选项来尝试进行更新。
python -m ensurepip <options>
- --default-pip,--altinstall 选项
--default-pip
选项表示将安装pip.exe
,pip<X>.exe
,pip<X>.<Y>.exe
,三个文件至Scripts
文件夹,如果使用--altinstall
选项,则仅会安装pip<X>.<Y>.exe
,其中X
为主版本号,Y
为次版本号。当以上两个选项均未被采用时,将安装pip<X>.exe
和pip<X>.<Y>.exe
。- --upgrade 选项
使用选项
--upgrade
可以让ensurepip
尝试将当前已经安装的 pip 更新至ensurepip
包所提供的最新版本(可能与 PyPI 上的 pip 的最新版本不同)。- --root 参数,--user 选项
--root
参数和--user
选项用于更改 pip 的安装位置,其中--root
参数指定一个目录,pip 将被安装至此,其目录结构将与 Python 本身的安装目录结构保持一致,--user
选项(在虚拟环境中无法使用)表示将 pip 安装至 Windows 用户应用数据文件夹。
Python ensurepip 包所安装的 pip 由 ensurepip 包自身提供
即便在没有网络的情况下,你依然可以通过 Python 的ensurepip
包在 Windows 中安装 pip,因为 pip 已经包含在包ensurepip
中,这意味着通过ensurepip
安装的 pip 可能并非最新版本。
将 Scripts 目录添加至 Windows 的 PATH 环境变量
如果安装所产生的Scripts
文件夹的路径,未包含在 Windows 的环境变量PATH
中,那么可能将无法使用 pip 的可执行文件,因为命令行不能定位他们,此时需要手动将Scripts
目录添加至 Windows 环境变量PATH
。
PATH 环境变量
要了解如何设置环境变量PATH
,你可以查看编程指南的操作系统 PATH 环境变量介绍,以及设置 PATH 环境变量一节。
使用 Python 脚本文件 get-pip.py 在 Windows 中安装 pip
如果缺少 Python 包ensurepip
,那么通过下载并执行get-pip.py
文件,同样可以完成 Windows 中的 pip 安装。你只需要选择一个目录下载保存get-pip.py
,然后启动 Windows 的命令提示符并转至该目录,最后使用 Python 执行get-pip.py
即可。
get-pip.py
的安装效果与使用包ensurepip
基本类似,pip.exe
,pip<X>.exe
,pip<X>.<Y>.exe
会被安装至Scripts
文件夹。但除此之外,get-pip.py
还会安装 wheel 和 setuptools,其中wheel.exe
位于Scripts
,而 setuptools 仅存在于Lib\site-packages
中。
python get-pip.py <options>
- --no-setuptools 选项
--no-setuptools
选项表示不会尝试在安装 pip 的同时安装 setuptools。- --no-wheel 选项
--no-wheel
选项表示不会尝试在安装 pip 的同时安装 wheel。
如何使用 Python 脚本文件 get-pip.py 在 Windows 中安装特定版本的 pip,wheel 和 setuptools?
在通过 Python 运行get-pip.py
文件时,你可以输入版本条件来选择 pip,wheel 和 setuptools 的版本,比如,"pip==21.0"
表示安装版本为21.0
的 pip,"pip<24"
表示安装版本小于24
的最大版本的 pip,"pip>=19.1"
表示安装版本大于等于19.1
的最大版本的 pip。
python get-pip.py <packages>
- packages 值
packages
包含了 pip,wheel 和 setuptools 包的版本信息,每个版本信息可使用"
括住并使用空格进行分隔,如果未指定版本则使用最新版本,比如,python get-pip.py "pip>=23" "wheel"
会安装 wheel 的最新版本(由于未给出 setuptools,因此 setuptools 仅在不存在时被安装,但有趣的是,无论是否给出 pip,pip 均会被安装)。需要指出,get-pip.py
并不会判断需要安装的版本是否比已安装的版本更新,原有的版本会被卸载,即便被安装的版本更旧。
使用脚本文件 get-pip.py 在 Windows 中安装其他 Python 包
是的,你可以使用脚本文件get-pip.py
安装任意其他 Python 包,比如python get-pip.py "numpy"
会同时安装包pip
和numpy
,这可能让人觉得奇怪,但却是可行的。
运行 Python 脚本文件,模块,包
想要了解更多关于命令行执行 Python 脚本的信息,你可以查看如何通过命令行运行 Python 脚本文件,模块,包一节。
pip 在 Windows 中的安装位置
默认情况下,pip 将被安装到 Python 所在的目录,其可执行文件和源码分别位于Scripts
和Lib\site-packages
文件夹。
pip 在 Windows 中的安装位置取决于安装时运行的 Python
当 Windows 环境变量PATH
包含多个指向 Python 的路径时,请确认命令行所执行的 Python 的位置,因为 pip 可能被安装至该处,当使用ensurepip
或get-pip.py
进行手动安装时。这是非常重要的,尤其在拥有多个版本的 Python 的情况下。
讲解视频
如何使用脚本文件 get-pip.py 在 Windows 中安装 Python 包管理器 pip?安装步骤,安装选项以及 pip 安装位置简介·Bilibili