Pip是用于安装Python软件包的工具。 使用pip,您可以从Python软件包索引(PyPI)和其他软件包索引中搜索,下载和安装软件包。
本指南介绍了如何在Ubuntu 20.04上为Python 3和Python 2安装pip。 我们还将引导您了解使用pip安装和管理Python软件包的基础知识。
开始之前
Python有两种风格: Python 2和Python3。从Ubuntu 20.04开始,基本系统安装中包含Python 3,并且可以从Universe存储库中安装Python 2。 鼓励用户切换到Python3。
在全局安装Python模块时,强烈建议使用apt工具安装该模块的deb软件包,因为它们已经过测试,可以在Ubuntu系统上正常工作。 Python 3软件包的前缀为python3-,Python 2软件包的前缀为python2-。
仅当该模块没有deb软件包时,才使用pip全局安装该模块。
建议仅在虚拟环境中使用pip。 Python虚拟环境允许您将Python模块安装在特定项目的隔离位置,而不必全局安装。 这样,您不必担心会影响其他Python项目。
为Python 3安装pip
要在Ubuntu 20.04上为Python 3安装pip,请以root身份或sudo用户在终端中运行以下命令:sudo apt update
sudo apt install python3-pip
上面的命令还将安装构建Python模块所需的所有依赖项。
安装完成后,通过检查pip版本来验证安装:pip3 --version
版本号可能会有所不同,但看起来会像这样:pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
为Python 2安装Pip
适用于Python 2的Pip未包含在Ubuntu 20.04存储库中。 我们将使用get-pip.py脚本为Python 2安装pip。
首先启用Universe信息库:sudo add-apt-repository universe
更新软件包索引并安装Python 2:sudo apt update
sudo apt install python2
使用curl下载get-pip.py脚本:curl https://bootstrap.pypa.io/get-pip.py --output get-pip.py
启用存储库后,使用python2以sudo用户身份运行脚本以安装适用于Python 2的pip:sudo python2 get-pip.py
Pip将在全局安装。 如果只想为您的用户安装它,请运行不带sudo的命令。 该脚本还将安装setuptools和wheel,这使您可以安装源发行版。
通过打印pip版本号来验证安装:pip2 --version
输出看起来像这样:pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
如何使用pip
在本节中,我们向您展示一些有用的基本pip命令。 使用pip,您可以从PyPI,版本控制,本地项目以及分发文件中安装软件包。 通常,您将从PyPI安装软件包。
要查看所有pip命令和选项的列表,请输入:pip3 --help
您可以使用pip --help获得有关特定命令的更多信息。 例如,要获取有关安装命令的更多信息,请键入:pip3 install --help
使用Pip安装软件包
假设您要安装一个名为scrapy的软件包,该软件包用于从网站抓取和提取数据。
要安装最新版本的软件包,请运行以下命令:pip3 install scrapy
要安装特定版本的软件包,请在软件包名称后附加==和版本号:pip3 install scrapy==1.5
如果使用Python 2,请用pip2替换pip3。
使用requirement.txt文件安装Pip的软件包
requirement.txt是一个文本文件,其中包含运行特定Python项目所需的pip软件包列表及其版本。
使用以下命令安装文件中指定的软件包列表:pip3 install -r requirements.txt
列出已安装的软件包
要列出所有已安装的pip软件包,请使用以下命令:pip3 list
使用pip升级程序包
要将已安装的软件包升级到最新版本,请输入:pip3 install --upgrade package_name
使用Pip卸载软件包
要卸载软件包,请运行:pip3 uninstall package_name
结论
我们向您展示了如何在Ubuntu计算机上安装pip以及如何使用pip管理Python软件包。
有关pip的更多信息,请访问pip用户指南页。
如果您有任何问题或反馈,请随时在下面评论。