Linux Python 包安装

LinuxBeginner
立即练习

介绍

Python 包通过提供针对各种任务的专用工具和库来扩展 Python 的功能。高效地安装和管理这些包是 Python 开发者的必备技能。

在本实验中,你将学习如何在 Linux 系统上使用 pip,即标准的 Python 包安装程序。你将设置你的环境,安装包,管理依赖项,并探索不同的安装选项。这些技能对于任何在 Linux 环境下工作的 Python 开发者来说都是基础。

设置你的 Python 环境

在本步骤中,你将准备一个干净的 Python 环境用于包管理。你将学习使用虚拟环境 (virtual environments),这对于管理项目依赖项而不产生冲突至关重要。

验证 Python 和 pip

首先,让我们验证 Python 和 pip 是否可用:

python3 --version
pip3 --version

你应该会看到 Python 3.10.x 和 pip 版本信息。如果 pip 未安装,请进行安装:

sudo apt update
sudo apt install python3.10-venv -y
sudo apt upgrade python3-pip -y

创建虚拟环境

虚拟环境为每个项目创建隔离的 Python 空间。这可以防止不同项目之间的包冲突:

cd ~/project
python3 -m venv myproject_env
source myproject_env/bin/activate

你的提示符现在应该显示 (myproject_env),表明你已进入虚拟环境。在虚拟环境中,你可以使用 pip 而不是 pip3

创建 Requirements 文件

创建一个 requirements.txt 文件来跟踪你项目的依赖项:

touch requirements.txt

此文件将帮助你在不同系统上重新创建相同的环境。

安装 Python 包

在本步骤中,你将学习如何单独安装 Python 包以及如何使用 requirements 文件进行安装。请确保你已进入虚拟环境(你的提示符应显示 (myproject_env))。

安装你的第一个包

让我们安装 requests 包,它常用于发送 HTTP 请求:

pip install requests

你将看到下载和安装进度。验证安装:

pip list

你应该会在已安装的包列表中看到 requests

使用 Requirements 文件

现在,让我们在 requirements 文件中指定多个包及其精确版本。打开它:

nano requirements.txt

添加以下内容:

requests==2.31.0
numpy==1.24.3
pandas==2.0.3

使用 Ctrl+OEnter 保存,然后使用 Ctrl+X 退出。

这种方法通过指定精确的包版本,确保了不同系统之间环境的一致性。

从 Requirements 文件安装

从你的 requirements 文件安装所有包:

pip install -r requirements.txt

由于 requests 已安装,pip 将保留它或更新到指定版本。新包(numpypandas)将全新安装。

验证所有包是否已安装:

pip list | grep -E "(requests|numpy|pandas)"

你应该会看到这三个包及其指定的版本。

管理包版本

在本步骤中,你将学习重要的包管理操作:检查包信息、更新包以及安装特定版本。

查看包信息

检查已安装包的详细信息:

pip show requests

这将显示版本、依赖项、许可证和安装位置信息。

安装特定版本

有时你需要不同版本以实现兼容性。安装特定版本的 numpy:

pip install numpy==1.23.5

验证版本更改:

pip show numpy | grep Version

你应该会看到版本 1.23.5 而不是 1.24.3。

更新包

将包更新到其最新版本:

pip install --upgrade pandas

这将把 pandas 更新到最新可用版本。

冻结你的环境

生成当前包及其版本的完整列表:

pip freeze > current_env.txt

查看生成的文件:

cat current_env.txt

此文件可用于通过 pip install -r current_env.txt 在其他地方重新创建完全相同的环境。

使用虚拟环境和依赖项

在最后一步中,你将学习虚拟环境的最佳实践以及如何有效地管理项目依赖项。

停用和重新激活

练习停用你的虚拟环境:

deactivate

你的提示符应恢复正常(没有 (myproject_env))。尝试运行 pip list:

pip list

你只会看到系统安装的包。现在重新激活你的环境:

source ~/project/myproject_env/bin/activate

注意当你重新激活时,你的项目包是如何返回的。

理解依赖项

检查哪些包依赖于其他包:

pip show pandas

查看 "Requires" 行以了解 pandas 的依赖项。这就是为什么管理环境至关重要——安装一个包通常会安装许多其他包。

清理和最佳实践

创建一个干净的 requirements 文件,其中只包含你的直接依赖项:

nano ~/project/requirements.txt

将内容替换为仅你明确需要的包(而不是它们的依赖项):

requests==2.31.0
numpy==1.23.5
pandas==2.0.3

保存并退出。当其他人从该文件安装时,pip 将自动处理依赖项。

分享你的环境

你的环境现在已准备好共享。任何人都可以使用以下命令重新创建它:

pip install -r requirements.txt

这是可复现 Python 开发的基础。

总结

在本实验中,你已掌握了在 Linux 上进行 Python 包管理的基础知识:

  • 环境设置:创建和管理 Python 虚拟环境以实现项目隔离
  • 包安装:单独安装包以及使用带有特定版本的 requirements 文件进行安装
  • 版本管理:更新包、安装特定版本以及生成环境快照
  • 最佳实践:学习维护干净的依赖项列表和共享可复现的环境

这些技能对任何 Python 开发人员都至关重要。虚拟环境可防止项目之间的冲突,而正确的依赖项管理可确保你的代码在不同系统上始终如一地运行。

你现在已准备好在任何 Linux 开发环境中自信地管理 Python 包!