如何在 Windows 中安装 Python 包管理器 pip
关注 1800
判断是否安装了 pip
对于 Windows 系统而言,如果你在官方网站下载并安装了 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 可执行文件本身还是会运行模块pip,其运行效果与直接运行模块pip相同,只不过在命令书写上更加简便。
当然,在某些安装方式中,pip 可行执行文件并非安装的必需项,因此,命令行同样可能会提示类似于“命令不存在”的消息,如果之前安装 pip 时没有选择安装对应的 pip 可执行文件。
pip --version
pip 23.2.1 from …\Lib\site-packages\pip (python 3.11)安装 pip 后运行 pip 依然提示 No module named pip
如果的确已在 Windows 中安装了 pip,并且运行命令python -m pip --version后依然提示No module named pip,那么问题可能在于 Python 的模块搜索路径并未包含模块pip所在的目录,此时可以检查模块搜索路径,以判断是否需要对模块搜索路径进行修改。
模块搜索路径
想要详细了解 Python 的模块搜索路径,你可以查看Python 指南的Python 模块搜索路径介绍,模块搜索路径中的目录有哪些一节。
使用 ensurepip 包安装 pip
你可以简单的使用包ensurepip来手动安装 pip,但需要确保他的存在,因为并非所有安装都含有ensurepip,比如包含最少组件的嵌入式安装包。此外,包ensurepip应该能够被 Python 找到,如果出现了类似于No module named ensurepip这样的提示,请检查模块搜索路径是否包含ensurepip所在的目录。
在默认情况下,如果 Python 能找到任何可用的 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 用户应用数据文件夹。
ensurepip 包所安装的 pip 由 ensurepip 包自身提供
即便在没有网络的情况下,你依然可以通过ensurepip包在 Windows 中安装 pip,因为 pip 已经包含在包ensurepip中,这意味着通过ensurepip安装的 pip 可能并非最新版本。
将 Scripts 目录添加至 Windows 的 PATH 环境变量
如果安装所产生的Scripts文件夹的路径,未包含在 Windows 的环境变量PATH中,那么可能将无法使用 pip 的可执行文件,因为命令行不能定位他们,此时需要手动将Scripts目录添加至环境变量PATH。
PATH 环境变量
要了解如何设置环境变量PATH,你可以查看编程指南的操作系统 PATH 环境变量介绍,以及设置 PATH 环境变量一节。
使用脚本文件 get-pip.py 安装 pip
如何使用 get-pip.py 在 Windows 安装 pip视频演示 YouTube如何使用 get-pip.py 在 Windows 安装 pip视频演示 Bilibili
如果缺少 包ensurepip,那么通过下载并执行get-pip.py文件,同样可以完成 Windows 中的 pip 安装。你只需要选择一个目录下载保存get-pip.py,然后启动命令提示符并转至该目录,最后使用 Python 执行get-pip.py即可。
get-pip.py的安装效果与使用包ensurepip基本类似,pip.exe,pip<X>.exe,pip<X>.<Y>.exe会被安装至Scripts文件夹。但除此之外,get-pip.py还会在某些版本的 Python 中安装 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。
选项--no-setuptools和--no-wheel,对于 3.12 或更高版本的 Python 无效。
如何使用脚本文件 get-pip.py 安装特定版本的 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 安装其他 Python 包
是的,你可以使用脚本文件get-pip.py安装任意其他 Python 包,比如python get-pip.py "numpy"会同时安装包pip和numpy,这可能让人觉得奇怪,但却是可行的。
运行 Python 脚本文件,模块,包
想要了解更多关于命令行执行 Python 脚本的信息,你可以查看如何通过命令行运行 Python 脚本文件,模块,包一节。
pip 的安装位置
默认情况下,pip 将被安装到 Python 所在的目录,其可执行文件和源码分别位于Scripts和Lib\site-packages文件夹。
pip 在 Windows 中的安装位置取决于安装时运行的 Python
当 Windows 环境变量PATH包含多个指向 Python 的路径时,请确认命令行所执行的 Python 的位置,因为 pip 可能被安装至该处,当使用ensurepip或get-pip.py进行手动安装时。这是非常重要的,尤其在拥有多个版本的 Python 的情况下。
讲解视频
如何使用 get-pip.py 在 Windows 安装 pip·YouTube如何使用 get-pip.py 在 Windows 安装 pip·Bilibili