介绍
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+O,Enter 保存,然后使用 Ctrl+X 退出。
这种方法通过指定精确的包版本,确保了不同系统之间环境的一致性。
从 Requirements 文件安装
从你的 requirements 文件安装所有包:
pip install -r requirements.txt
由于 requests 已安装,pip 将保留它或更新到指定版本。新包(numpy 和 pandas)将全新安装。
验证所有包是否已安装:
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 包!



