杰瑞科技汇

Linux下如何用pip安装Python包?

核心摘要 (TL;DR)

对于大多数现代 Linux 发行版(如 Ubuntu 20.04+, Debian 10+, Fedora, Arch Linux),最推荐、最简单、最安全的方法是使用系统自带的 python3-pip 包管理器来安装 pip

Linux下如何用pip安装Python包?-图1
(图片来源网络,侵删)
# 对于 Debian / Ubuntu / Mint
sudo apt update
sudo apt install python3-pip
# 对于 Fedora / CentOS / RHEL
sudo dnf install python3-pip
# 对于 Arch Linux
sudo pacman -S python-pip

安装完成后,使用 pip3 来安装 Python 3 的包:

pip3 install <package_name>

详细指南

下面我们将分步骤详细讲解,包括为什么推荐这种方法、遇到问题如何解决,以及 pip 的高级用法。

第一步:检查 Python 和 pip 是否已安装

在安装之前,先检查一下你的系统上是否已经安装了 Python 和 pip

  1. 检查 Python 版本 现代系统通常默认安装 Python 3,打开你的终端(Terminal),运行:

    Linux下如何用pip安装Python包?-图2
    (图片来源网络,侵删)
    python3 --version

    如果看到类似 Python 3.8.10 的输出,说明 Python 3 已经安装,如果系统只安装了 Python 2,你可能需要先安装 Python 3。

  2. 检查 pip 是否已安装 同样,在终端中运行:

    pip3 --version

    如果看到类似 pip 21.2.4 from /usr/lib/python3/dist-packages/pip (python 3.8) 的输出,说明 pip 已经安装,你可以直接跳到第三步,如果提示 command not found,说明你需要安装它。


第二步:安装 pip

这里提供几种主流的安装方法,强烈推荐第一种

Linux下如何用pip安装Python包?-图3
(图片来源网络,侵删)

使用系统包管理器(最推荐)

这是最简单、最可靠的方法,因为它会自动处理 pip 的依赖关系,并且与你的系统集成得最好。

  • 对于 Debian, Ubuntu, Linux Mint 等基于 Debian 的系统:

    # 更新软件包列表
    sudo apt update
    # 安装 python3-pip
    sudo apt install python3-pip
  • 对于 Fedora, CentOS, RHEL 等基于 Red Hat 的系统 (使用 dnf/yum):

    # 对于 Fedora 22+ 和 CentOS/RHEL 8+
    sudo dnf install python3-pip
    # 对于旧版的 CentOS/RHEL 7
    sudo yum install python3-pip
  • 对于 Arch Linux:

    sudo pacman -S python-pip

安装完成后,再次运行 pip3 --version 确认安装成功。

使用 ensurepip(备选方案)

Python 3.4+ 自带了一个 ensurepip 模块,可以用来安装 pip,这种方法不依赖系统包管理器,但可能不会安装所有相关的开发工具。

# 运行此命令来安装 pip 和 pip3
python3 -m ensurepip --default-pip

使用 get-pip.py(最灵活,但需谨慎)

这是从 pip 官方网站下载安装脚本的方法,当你无法使用系统包管理器或需要安装特定版本的 pip 时,此方法非常有用。

  1. 下载安装脚本

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
  2. 运行脚本进行安装 使用 python3 来执行脚本,确保它为 Python 3 安装 pip

    python3 get-pip.py
    • 最佳实践: 建议使用 --user 标志进行用户级安装,这可以避免需要 sudo 权限,并且不会污染系统级的 Python 环境。
      python3 get-pip.py --user

      用户级安装后,pip 命令可能不在系统的 PATH 环境变量中,你需要将 ~/.local/bin 添加到你的 PATH 中:

      # 打开你的 shell 配置文件 (~/.bashrc, ~/.zshrc)
      nano ~/.bashrc

    在文件末尾添加以下行

    export PATH="$HOME/.local/bin:$PATH"

    保存文件后,重新加载配置

    source ~/.bashrc


第三步:使用 pip 安装 Python 包

pip 安装成功后,你就可以用它来安装各种 Python 库了。

基本安装

# 安装最新的稳定版本
pip3 install requests
# 安装特定版本
pip3 install numpy==1.21.0
# 安装高于某个版本的最新版本
pip3 install "pandas>=1.3.0"

升级已安装的包

pip3 install --upgrade requests

卸载包

pip3 uninstall requests

查看已安装的包

# 列出所有已安装的包及其版本
pip3 list
# 显示某个包的详细信息
pip3 show requests

requirements.txt 文件安装

在项目开发中,我们通常会将项目依赖的包列表保存在一个名为 requirements.txt 的文件中。

创建 requirements.txt 文件:

requests==2.26.0
numpy>=1.20.0
pandas

根据文件安装所有依赖:

pip3 install -r requirements.txt

常见问题与解决方案 (FAQ)

问题1:pip vs pip3

  • pip:在许多 Linux 发行版中,pip 默认指向 Python 2 的包管理器(Python 2 已安装),这通常不是你想要的。
  • pip3:明确指向 Python 3 的包管理器。

最佳实践:始终使用 pip3,以确保你正在为正确的 Python 版本安装包。

问题2:权限错误 (Permission denied)

错误信息可能类似于:ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/...

原因:你尝试在没有 sudo 权限的情况下,向系统级的 Python 环境(通常在 /usr/local//usr/ 下)写入文件。

解决方案 (推荐用户级安装): 使用 --user 标志进行用户级安装,包会被安装在你用户主目录下的 ~/.local/lib/python3.x/site-packages 中,无需管理员权限。

pip3 install --user <package_name>

问题3:ModuleNotFoundError: No module named 'pip'

原因

  1. 你使用了 python 命令,但系统默认是 Python 2,而 pip 只为 Python 3 安装了。
  2. Python 3 的 pip 没有正确安装或不在 PATH 中。

解决方案

  1. 始终使用 python3pip3
  2. 如果你使用 get-pip.py --user 安装了 pip,请确保 ~/.local/bin 已添加到 PATH 中(见上文方法三)。

问题4:pip 命令找不到 (command not found)

原因

  1. pip 没有安装。
  2. 安装了但不在系统的 PATH 环境变量中(使用 get-pip.py --user 后未配置 PATH)。

解决方案

  1. 确认已安装 pip3 (pip3 --version)。
  2. 如果是用户级安装,请将 ~/.local/bin 添加到 PATH

  1. 使用虚拟环境:为了隔离不同项目的依赖,强烈建议使用 venv 模块创建虚拟环境。

    # 为你的项目创建一个名为 venv 的虚拟环境
    python3 -m venv my_project_env
    # 激活虚拟环境
    source my_project_env/bin/activate  # Linux/Mac
    # my_project_env\Scripts\activate   # Windows
    # 现在在你的终端中,pip 命令会自动指向虚拟环境中的 pip
    # 你可以直接使用 pip install ...,无需 pip3
    pip install requests
    # 完成工作后,退出虚拟环境
    deactivate

    在虚拟环境中,你不需要 sudo 也不需要 --user 标志,一切都在项目内部干净整洁。

  2. 使用 pip3:除非你明确知道自己在做什么,否则在命令行中始终使用 pip3

  3. 使用 requirements.txt:对于任何项目,都维护一个 requirements.txt 文件来管理依赖,便于团队协作和部署。

希望这份详细的指南能帮助你在 Linux 上顺利地使用 pip

分享:
扫描分享到社交APP
上一篇
下一篇