怎么在命令行中使用Python -m pip安装库
在命令行中安装 Python 第三方库,最可靠的方式是运行 python -m pip install 库名。这条命令通过当前 Python 解释器直接调用 pip 模块,能避免很多因系统中存在多个 Python 版本而导致的"装到了别的地方"问题。下面从打开终端开始,逐步说明完整的操作过程、常用选项和容易遇到的状况。
打开命令行并确认 Python 环境
第一步是打开你系统上的命令行工具。Windows 上按 Win + R 输入 cmd 回车,或在开始菜单搜索"命令提示符";macOS 和 Linux 打开"终端"(Terminal)即可。
在安装库之前,先确认你要用的 Python 版本确实能正常运行。输入下面的命令:
python --version
如果输出类似 Python 3.10.12,说明 python 这个命令指向了一个可用的解释器。如果提示"不是内部或外部命令"或者显示的是 Python 2.x 版本,可以尝试换成 python3:
python3 --version
记住这里用的是 python 还是 python3,后面的命令就使用对应的那个。接下来确认 pip 模块可用:
python -m pip --version
正常输出会显示 pip 的版本号以及它关联的 Python 路径,例如:
pip 23.2.1 from /usr/lib/python3/dist-packages/pip (python 3.10)
这行信息非常有用——括号里的 python 3.10 告诉你库会被安装到哪个 Python 环境。如果你系统上有多个 Python,这能帮你确认目标是否正确。
图1:安装前的环境确认流程,逐步排除命令不可用的情况
为什么用 python -m pip 而不是直接用 pip
很多教程会写 pip install 库名,这在只有一个 Python 的系统上通常没问题。但当系统上同时存在 Python 2 和 Python 3、或者安装了多个 Python 3 版本时,直接输入 pip 到底调用的是哪个版本的 pip,往往不容易判断。
python -m pip 的含义是"用 python 这个解释器去执行 pip 模块"。因为你已经知道 python 指向哪个版本,所以库一定会被装到那个版本对应的目录里。这是 Python 官方文档推荐的做法。
一个典型的困扰场景:你用 pip install requests 安装了库,却在运行脚本时报 ModuleNotFoundError。原因可能是 pip 装到了 Python 3.9,而你用 python3.11 运行脚本。改用 python3.11 -m pip install requests 就能确保目标一致。
安装一个库的基本命令
确认环境后,安装一个库只需要一条命令:
python -m pip install requests
pip 会自动从 PyPI(Python Package Index)下载 requests 及其依赖,然后安装到当前 Python 环境的 site-packages 目录。安装成功后,终端会输出类似:
Successfully installed certifi-2023.7.22 charset-normalizer-3.2.0 idna-3.4 requests-2.31.0 urllib3-2.0.4
这里列出的不仅有 requests 本身,还有它依赖的其他库。pip 会自动处理这些依赖关系。
安装完成后,可以在 Python 中验证:
python -c "import requests; print(requests.__version__)"
如果输出了版本号,说明安装成功且与你使用的 Python 版本对应。
常用的安装选项
安装指定版本。如果项目需要特定版本,在库名后面加版本号:
python -m pip install requests==2.28.0
也可以指定版本范围。例如安装 2.x 的最新版,但不进入 3.x:
python -m pip install "requests>=2.20,<3.0"
升级已安装的库。如果库已经装过但想更新到最新版本,加 --upgrade 或简写 -U:
python -m pip install --upgrade requests
一次安装多个库。直接在命令后面列出多个库名,用空格分隔:
python -m pip install requests flask pandas
从 requirements.txt 安装。项目协作中,通常会把所有依赖写在一个文本文件里,每行一个库名(可带版本号),然后用 -r 参数一次安装所有依赖:
python -m pip install -r requirements.txt
requirements.txt 文件的内容类似:
requests==2.31.0
flask>=2.3
pandas
图2:python -m pip install 常用选项速查
配合虚拟环境使用
直接在系统 Python 上安装库,不同项目的依赖可能互相冲突。Python 内置了 venv 模块,可以为每个项目创建独立的环境。在虚拟环境里用 python -m pip install 安装的库只存在于该环境,不影响系统 Python 和其他项目。
创建虚拟环境的命令:
python -m venv myenv
这会在当前目录下创建一个叫 myenv 的文件夹。接下来需要激活它:
Windows 上:
myenv\Scripts\activate
macOS / Linux 上:
source myenv/bin/activate
激活后,命令行提示符前面会出现 (myenv) 标记。此时运行 python -m pip install 安装的库只存放在 myenv 目录内。退出虚拟环境时输入 deactivate 即可。
python -m pip freeze > requirements.txt 导出依赖,方便自己和他人复现环境。
图3:虚拟环境隔离了项目依赖,避免不同项目之间的库版本冲突
安装过程中常见问题的排查
权限不足,提示 Permission denied。在系统 Python 上安装库时可能遇到这个问题。最好的解决方式不是加 sudo,而是使用虚拟环境。如果确实需要在系统级安装,可以加 --user 参数,把库装到当前用户目录下:
python -m pip install --user requests
网络超时或下载慢。pip 默认从 PyPI 官方源下载,海外服务器有时较慢。可以临时使用国内镜像源:
python -m pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
如果想长期使用镜像,可以写入 pip 配置。创建或编辑配置文件(Linux/macOS 在 ~/.pip/pip.conf,Windows 在 %APPDATA%\pip\pip.ini),加入以下内容:
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
提示 pip 版本过旧。安装库时如果看到黄色警告建议升级 pip,运行这条命令即可:
python -m pip install --upgrade pip
安装后 import 找不到。最常见的原因是安装库的 Python 和运行脚本的 Python 不是同一个。用 python -m pip show 库名 查看库的安装位置,再对比你执行脚本时用的 python 路径(which python 或 where python),确认两者一致。
查看和管理已安装的库
列出当前环境中所有已安装的库:
python -m pip list
查看某个库的详细信息(版本、安装路径、依赖关系):
python -m pip show requests
示例输出:
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Location: /home/user/myenv/lib/python3.10/site-packages
Requires: certifi, charset-normalizer, idna, urllib3
其中 Location 一行能帮你确认库安装在哪个环境。Requires 列出了这个库自身的依赖。
卸载一个库:
python -m pip uninstall requests
pip 会列出将要删除的文件,输入 y 确认。注意卸载只移除这个库本身,它的依赖不会被自动删除。
导出当前环境的所有依赖到文件:
python -m pip freeze > requirements.txt
这个文件可以交给其他人,对方用 python -m pip install -r requirements.txt 就能还原完全一样的依赖环境。
图4:python -m pip 核心子命令一览,freeze 与 install -r 形成依赖管理闭环
小结
用 python -m pip install 库名 在命令行安装 Python 库,整个过程就是三步:确认 python -m pip --version 能正常输出、激活目标虚拟环境(建议但不强制)、运行安装命令。遇到问题时,先检查 Python 和 pip 是否指向同一个环境,再排查权限和网络。记住始终用 python -m pip 而不是裸 pip,可以避免多版本混乱带来的大部分麻烦。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









