Linux Python 包安装

LinuxBeginner
立即练习

介绍

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

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

这是一个实验(Guided Lab),提供逐步指导来帮助你学习和实践。请仔细按照说明完成每个步骤,获得实际操作经验。根据历史数据,这是一个 初级 级别的实验,完成率为 86%。获得了学习者 95% 的好评率。

设置你的 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 包!