简介
Python 包通过为各种任务提供专门的工具和库来扩展 Python 的功能。高效地安装和管理这些包是 Python 开发者必备的技能。
在这个实验中,你将学习如何在 Linux 系统上使用标准的 Python 包安装程序 pip。你将设置环境、安装包、管理依赖项,并探索不同的安装选项。这些技能对于在 Linux 环境中工作的任何 Python 开发者来说都是基础。
Python 包通过为各种任务提供专门的工具和库来扩展 Python 的功能。高效地安装和管理这些包是 Python 开发者必备的技能。
在这个实验中,你将学习如何在 Linux 系统上使用标准的 Python 包安装程序 pip。你将设置环境、安装包、管理依赖项,并探索不同的安装选项。这些技能对于在 Linux 环境中工作的任何 Python 开发者来说都是基础。
在这一步中,你将为 Python 包管理准备工作环境。首先,让我们了解一下我们需要什么:
让我们从检查系统中是否已经安装了 Python 开始:
python3 --version
你应该会看到类似如下的输出:
Python 3.10.x
如果 Python 未安装,你可以使用以下命令进行安装(在实验环境中 Python 已经安装,你无需运行此命令):
sudo apt update && sudo apt install python3
现在,让我们安装 pip
,它是 Python 的标准包管理器:
sudo apt install python3-pip
安装完成后,通过检查其版本来验证 pip
是否正确安装:
pip3 --version
你应该会看到显示 pip 版本的输出,类似于:
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
包管理的最佳实践之一是在一个名为 requirements.txt
的文件中维护所需包的列表。这允许在不同环境中进行一致的安装。
在你的项目目录中创建此文件:
cd ~/project
touch requirements.txt
使用 nano 文本编辑器打开该文件:
nano requirements.txt
目前,让这个文件保持为空。我们将在下一步中添加包。要退出 nano,按 Ctrl+X
,然后按 N
,因为我们目前不需要保存任何更改。
在这一步中,你将学习如何使用 pip 安装 Python 包。主要有两种安装包的方式:
Python 包是扩展 Python 功能的模块集合。流行的包包括:
要安装单个包,请使用以下命令结构:
pip3 install package_name
让我们安装 requests
包,它通常用于发起 HTTP 请求:
pip3 install requests
你应该会看到显示下载和安装进度的输出,最后会显示安装成功的消息。
现在,让我们准备一个需求文件来指定多个包及其版本。打开之前创建的 requirements.txt
文件:
nano ~/project/requirements.txt
在文件中添加以下行:
requests==2.25.1
numpy==1.20.1
按 Ctrl+O
保存文件,然后按 Enter
,再按 Ctrl+X
退出。
此文件指定我们要安装:
requests
版本 2.25.1numpy
版本 1.20.1指定版本可确保在不同环境中保持一致性。
现在,安装需求文件中指定的包:
pip3 install -r ~/project/requirements.txt
你应该会看到这些包正在被下载和安装。请注意,如果 requests
已经安装但版本不同,pip 会将其更新或降级到需求文件中指定的版本。
安装完成后,验证这些包是否已正确安装:
pip3 list
此命令会显示所有已安装的 Python 包。在列表中查找 requests
和 numpy
,它们应该显示需求文件中指定的确切版本:
Package Version
---------- -------
...
numpy 1.20.1
...
requests 2.25.1
...
在这一步中,你将学习如何更新包、安装特定版本的包,以及在需要时卸载包。
在更新或更改包之前,检查其当前信息很有用:
pip3 show requests
这将显示 requests
包的详细信息,包括:
要将包更新到最新版本,请使用 --upgrade
标志:
pip3 install --upgrade requests
这将把 requests
包更新到可用的最新版本。请注意,这可能会覆盖你 requirements.txt
文件中指定的版本。
有时,出于兼容性原因,你可能需要安装特定版本的包:
pip3 install numpy==1.19.5
这将把 numpy
降级到 1.19.5 版本。你可以使用以下命令验证更改:
pip3 show numpy
输出现在应该显示版本为 1.19.5,而不是 1.20.1。
要移除你不再需要的包,请使用:
pip3 uninstall -y numpy
-y
标志会自动确认卸载,无需提示。你可以验证该包是否已被移除:
pip3 list | grep numpy
这应该没有返回结果,表明 numpy
已不再安装。
现在,让我们根据 requirements.txt
文件重新安装这些包:
pip3 install -r ~/project/requirements.txt
这将以文件中指定的版本重新安装这些包。使用以下命令验证:
pip3 list | grep numpy
你应该会看到 numpy
1.20.1 版本已重新安装。
虚拟环境是独立的 Python 环境,允许你安装包而不影响系统全局的 Python 安装。在处理具有不同依赖项的多个项目时,这尤其有用。
虚拟环境:
Python 自带了用于创建虚拟环境的 venv
模块。让我们创建一个虚拟环境:
python3 -m venv ~/project/myenv
此命令在你的项目目录中创建一个名为 myenv
的新虚拟环境。
要使用虚拟环境,你需要激活它:
source ~/project/myenv/bin/activate
激活后,你的命令提示符应该会发生变化,表明你现在正在虚拟环境中工作。它看起来会像这样:
(myenv) labex@hostname:~/project$
现在,你安装的包将被隔离在这个环境中。让我们安装一个新包:
pip install matplotlib
请注意,在虚拟环境中,你可以使用 pip
而不是 pip3
。
验证安装情况:
pip list
你会看到 matplotlib
已安装,但仅安装在这个虚拟环境中。
当你在虚拟环境中完成工作后,你可以停用它:
deactivate
你的命令提示符将恢复正常,表明你已回到系统全局的 Python 环境。
现在你已回到全局环境,检查 matplotlib
是否已安装:
pip3 list | grep matplotlib
你应该看不到任何结果,这证实了在虚拟环境中安装的包与全局环境是隔离的。
在这个实验中,你学习了在 Linux 系统上管理 Python 包的重要技能:
pip
设置你的 Python 环境requirements.txt
文件安装包这些技能是 Python 开发工作流程的基础部分。正确的包管理可确保你的项目拥有正确的依赖项,使你的开发过程更可靠、更具可重复性。
当你继续 Python 学习之旅时,你会发现这些包管理技能对于所有类型的 Python 开发都是必不可少的,从 Web 应用程序到数据科学等等。