标签 pip 下的文章

pipx 解决了流行的 pip 工具的不足之处。学习在 Linux 中安装和使用 pipx

pip 是一种流行的工具,用于从 Python 包索引 中安装 Python 包和模块。

然而,在最近的发行版本中,pip 用户遇到了 外部管理环境错误

error: externally-managed-environment

这是为避免通过 pip 安装的 Python 包与本机包管理器之间发生冲突而添加的“功能”。Python 希望你使用单独的虚拟环境,而不是通过 pip 在全局安装包。

这就是 pipx 发挥作用的地方。它为你安装的每个应用创建一个新的虚拟环境,然后在全局级别的 /bin 中创建到本地二进制文件的链接。这一切都是自动的。它为你节省时间和精力。

让我们看看如何在 Ubuntu 和其他 Linux 发行版上安装和使用 pipx

在 Ubuntu 和其他 Linux 上安装 pipx

安装很简单,可以在 Ubuntu 和 Debian 上使用以下命令安装:

sudo apt update && sudo apt install pipx

对于其他发行版,请使用你的包管理器并安装它。

完成安装后,将其添加到 $PATH 以便可以从任何地方访问它:

pipx ensurepath

install pipx in ubuntu

关闭终端并重新启动它。这就完成了! 现在,让我们看看如何使用它。

使用 pipx

包管理器的主要用途是什么? 软件包安装、更新和删除。

让我向你展示如何使用 pipx 执行以下操作:

  • 搜索包
  • 包安装
  • 升级
  • 包移除

让我们从安装开始。

如何使用 pipx 安装包

要使用 pipx 安装包,你必须遵循一个简单的命令语法:

pipx install <package_name>

例如,在这里,我安装了一个非常有用的程序 Cowsay:

pipx install cowsay

install python packages in isolation using pipx in ubuntu

同样,如果你想安装特定版本的包,你必须在 == 后跟上版本号,如下所示:

pipx install package==version

例如,在这里,我安装了 1.24.1 版本的 numpy:

pipx install numpy==1.24.1

如何搜索包

pipx 程序没有搜索功能(因为 PyPI 的 API 使用限制)但这并不意味着你不能搜索 Python 包。

要搜索包,你需要安装 pypisearch

pipx install pypisearch

完成后,你可以使用 pypisearch 命令搜索包:

pypisearch python_package_name

在这里,我搜索了 neofetch:

search python packages in Ubuntu

如何使用 pipx 升级包

与任何其他现代包管理器一样,你可以一次升级所有包,也可以一次升级一个包。

要一次升级所有软件包,你只需执行以下命令:

pipx upgrade-all

upgrade all the python packages at once in ubuntu

如你所见,它将 numpy 升级到最新版本。

但是如果你想升级一个特定的包,你可以这样做:

pipx upgrade package-name

假设我想将 cowsay 包升级到最新版本,那么,我将使用以下命令:

pipx upgrade cowsay

upgrade specific python package using pipx in ubuntu

如何使用 pipx 卸载包

要删除包,你必须使用 uninstall 标志,如下所示:

pipx uninstall package_name

为了供你参考,在这里,我从我的系统中删除了 numpy

pipx uninstall numpy

remove python packages using pipx in ubuntu

pip 还是 pipx?

pip 的限制影响了最终用户对它的使用。值得庆幸的是,pipx 提供了急需的替代方案。它符合使用虚拟环境的 Python 准则,同时允许已安装的应用在全局范围内可用。

对于不是 Python 应用开发的最终用户,这提供了使用发行版仓库中不可用的 Python 应用的选项。

希望本教程对你有所帮助。如果你有任何问题或建议,请告诉我。

(题图:MJ/fc6190e2-a412-443e-a83c-91fce1dcf695)


via: https://itsfoss.com/install-pipx-ubuntu/

作者:Sagar Sharma 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

你上次更新通过 Pip 安装的 Python 软件包是什么时候?大多数用户往往会忘记这些 Python 软件包也需要手动更新,因为仅仅更新系统存储库对于软件包来说是不起作用的。

因此,让我们花点时间看看如何使用 Pip,来更新旧的 Python 软件包吧。

如何使用 Pip 升级 Python 软件包

Pip(Pip Installs Packages) 是一个用于管理 Python 软件包的 命令行实用程序 command line utility 。你可以将 Pip 安装 Python 软件包,类比为在 Ubuntu 和 Debian 中使用 apt 管理软件包那样。

因此,接下来就让我们深入了解如何使用这个极好的工具 Pip,来管理与 Python 软件包相关的内容吧。

1、列出过时的 Python 软件包

在计划更新什么软件包之前,我们先要列出有哪些过时的软件包,你可以在其中选择想要更新的软件包,因为大多数人不会想一下子更新整个软件包库。

要列出过时的 Python 软件包,你只需将 pip 命令与 list 选项、--outdated 标志一同使用即可,如下图所示:

pip list --outdated

outdated packages

2、升级特定的软件包

获得可更新的软件包列表后,你可以像我之前提到的那样,选择你要更新的那个特定的软件包,pip 升级软件包命令的语法如下:

pip install package_name -U

例如,我想将名为 anime-api 的软件包升级到最新版本,所以我将使用下面的命令来升级:

pip install anime-api -U

update anime api

3、将软件包升级到特定的版本

没有必要总是使用软件的最新版本,如果你想将软件包升级到不是最新的某个特定版本,参考如下的命令语法:

pip install --upgrade <package>==<version>

例如,我想将名为 xdg 的软件包更新到 5.1 版本,5.1 版本是最新版本的前一个版本,所以可以使用以下命令:

pip install --upgrade xdg==5.1

upgrade xdg to specific iteration

4、使用 Pip 一次性升级所有软件包

请注意:我不建议你一次性升级所以软件包,因为 Python 软件包的依赖项太复杂了,一次性的升级无法处理相互依赖项。

要一次性升级所有 python 软件包,你可以使用以下命令:

pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U

upgrade everything

上面的命令使用了 xargs。首先,会得到所有需要更新的软件包,然后对每个软件包执行 pip3 install -U 命令。

我在这里使用的是 pip3,而不是 pip。在 Ubuntu 22.04 及更高的版本中,pippip3 命令都可以使用。

总结

使用 Pip 一次性更新所有 Python 软件包并不是一个好主意。我发现一次性更新后,软件包之间的依赖关系被破坏了,所以请确保只更新你想要更新的软件包。

如果你还有其他的疑问,就请在评论区中留言吧。


via: https://itsfoss.com/upgrade-pip-packages/

作者:Sagar Sharma 选题:lkxed 译者:chai001125 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在 Linux、Mac 或 Windows 上为旧版 Python 安装 pip。

Python 是一种功能强大、流行广泛的编程语言,在常规编程、数据科学等很多方面它都有丰富的软件包可供使用。但这些软件包通常都不会在 Python 安装时自动附带,而是需要由用户自行下载、安装和管理。所有的这些软件包(包括库和框架)都存放在一个名叫 PyPI(也就是 Python 软件包索引 Python Package Index )的中央存储库当中,而 pip(也就是 首选安装程序 Preferred Installer Program )则是管理这个中央存储库的工具。

在安装 pip 之后,管理 PyPI 的软件包就变得很方便了。大部分的软件包都可以通过在终端或者命令行界面执行 python -m pip install <软件包名> 这样的命令来完成安装。

较新版本的 Python 3(3.4 或以上)和 Python 2(2.7.9 或以上)都已经预装了 pip,旧版本的 Python 没有自带 pip,但可以另外安装。

在这篇文章中,我将会介绍 pip 在 Linux、Mac 和 Windows 系统上的安装过程。想要了解更多详细信息,可以参考 pip.pypa 的文档。

首先需要安装 Python

首先你的系统中需要安装好 Python,否则 pip 安装器无法理解任何相关的命令。你可以在命令行界面、Bash 或终端执行 python 命令确认系统中是否已经安装 Python,如果系统无法识别 python 命令,请先下载 Python 并安装。安装完成后,你就可以看到一些引导你安装 pip 的提示语了。

在 Linux 上安装 pip

在不同发行版的 Linux 上,安装 pip 的命令也有所不同。

在 Fedora、RHEL 或 CentOS 上,执行以下命令安装:

$ sudo dnf install python3

在 Debian 或 Ubuntu 上,使用 apt 包管理工具安装:

$ sudo apt install python3-pip

其它的发行版可能还会有不同的包管理工具,比如 Arch Linux 使用的是 pacman

$ sudo pacman -S python-pip

执行 pip --version 命令就可以确认 pip 是否已经正确安装。

在 Linux 系统上安装 pip 就是这样简单,你可以直接跳到“使用 pip”部分继续阅读。

在 Mac 上安装 pip

MacOS 已经预装了 Python,但 Python 版本一般是比较旧的。如果你要使用 Python 的话,建议另外安装 Python 3

在 Mac 上可以使用 homebrew 安装 Python 3:

$ brew update && brew upgrade python

如果你安装的是以上提到的新版本 Python 3,它会自带 pip 工具。你可以使用以下命令验证:

$ python3 -m pip --version

如果你使用的是 Mac,安装过程也到此结束,可以从“使用 pip”部分继续阅读。

在 Windows 上安装 pip

以下 pip 安装过程是针对 Windows 8 和 Windows 10 的。下面文章中的截图是 Windows 10 环境下的截图,但对 Windows 8 同样适用。

首先确认 Python 已经安装完成

如果你想在 Windows 系统上像 Linux 一样使用包管理工具,Chocolatey 是一个不错的选择,它可以让 Python 的调用和更新变得更加方便。Chocolatey 在 PowerShell 中就可以运行,只需要简单的命令,Python 就可以顺利安装。

PS> choco install python

接下来就可以使用 pip 安装所需的软件包了。

使用 pip

在 Linux、BSD、Windows 和 Mac 上,pip 都是以同样的方式使用的。

例如安装某个库:

python3 -m pip install foo --user

卸载某个已安装的库:

python3 -m pip uninstall foo

按照名称查找软件包:

python3 -m pip search foo

pip 更新到一个新版本:

$ sudo pip install --upgrade pip

需要注意的是,在 Windows 系统中不需要在前面加上 sudo 命令,这是因为 Windows 通过独有的方式管理用户权限,对应的做法是创建一个执行策略例外

python -m pip install --upgrade pip

希望本文介绍的的方法能对你有所帮助,欢迎在评论区分享你的经验。


via: https://opensource.com/article/20/3/pip-linux-mac-windows

作者:Vijay Singh Khatri 选题:lujun9972 译者:HankChow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

pip 是一个命令行工具,允许你安装 Python 编写的软件包。 学习如何在 Ubuntu 上安装 pip 以及如何使用它来安装 Python 应用程序。

有许多方法可以在 Ubuntu 上安装软件。 你可以从软件中心安装应用程序,也可以从下载的 DEB 文件、PPA(LCTT 译注:PPA 即 Personal Package Archives,个人软件包集)、Snap 软件包,也可以使用 Flatpak、使用 AppImage,甚至用旧的源代码安装方式。

还有一种方法可以在 Ubuntu 中安装软件包。 它被称为 pip,你可以使用它来安装基于 Python 的应用程序。

什么是 pip

pip) 代表 “pip Installs Packages”。 pip 是一个基于命令行的包管理系统。 用于安装和管理 Python 语言编写的软件。

你可以使用 pip 来安装 Python 包索引(PyPI)中列出的包。

作为软件开发人员,你可以使用 pip 为你自己的 Python 项目安装各种 Python 模块和包。

作为最终用户,你可能需要使用 pip 来安装一些 Python 开发的并且可以使用 pip 轻松安装的应用程序。 一个这样的例子是 Stress Terminal 应用程序,你可以使用 pip 轻松安装。

让我们看看如何在 Ubuntu 和其他基于 Ubuntu 的发行版上安装 pip

如何在 Ubuntu 上安装 pip

Install pip on Ubuntu Linux

默认情况下,pip 未安装在 Ubuntu 上。 你必须首先安装它才能使用。 在 Ubuntu 上安装 pip 非常简单。 我马上展示给你。

Ubuntu 18.04 默认安装了 Python 2 和 Python 3。 因此,你应该为两个 Python 版本安装 pip

pip,默认情况下是指 Python 2。pip3 代表 Python 3 中的 pip。

注意:我在本教程中使用的是 Ubuntu 18.04。 但是这里的教程应该适用于其他版本,如Ubuntu 16.04、18.10 等。你也可以在基于 Ubuntu 的其他 Linux 发行版上使用相同的命令,如 Linux Mint、Linux Lite、Xubuntu、Kubuntu 等。

为 Python 2 安装 pip

首先,确保已经安装了 Python 2。 在 Ubuntu 上,可以使用以下命令进行验证。

python2 --version

如果没有错误并且显示了 Python 版本的有效输出,则说明安装了 Python 2。 所以现在你可以使用这个命令为 Python 2 安装 pip

sudo apt install python-pip

这将安装 pip 和它的许多其他依赖项。 安装完成后,请确认你已正确安装了 pip

pip --version

它应该显示一个版本号,如下所示:

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

这意味着你已经成功在 Ubuntu 上安装了 pip

为 Python 3 安装 pip

你必须确保在 Ubuntu 上安装了 Python 3。 可以使用以下命令检查一下:

python3 --version

如果显示了像 Python 3.6.6 这样的数字,则说明 Python 3 在你的 Linux 系统上安装好了。

现在,你可以使用以下命令安装 pip3

sudo apt install python3-pip

你应该使用以下命令验证 pip3 是否已正确安装:

pip3 --version

它应该显示一个这样的数字:

pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

这意味着 pip3 已成功安装在你的系统上。

如何使用 pip 命令

现在你已经安装了 pip,让我们快速看一些基本的 pip 命令。 这些命令将帮助你使用 pip 命令来搜索、安装和删除 Python 包。

要从 Python 包索引 PyPI 中搜索包,可以使用以下 pip 命令:

pip search <search_string>

例如,如果你搜索“stress”这个词,将会显示名称或描述中包含字符串“stress”的所有包。

pip search stress
stress (1.0.0) - A trivial utility for consuming system resources.
s-tui (0.8.2) - Stress Terminal UI stress test and monitoring tool
stressypy (0.0.12) - A simple program for calling stress and/or stress-ng from python
fuzzing (0.3.2) - Tools for stress testing applications.
stressant (0.4.1) - Simple stress-test tool
stressberry (0.1.7) - Stress tests for the Raspberry Pi
mobbage (0.2) - A HTTP stress test and benchmark tool
stresser (0.2.1) - A large-scale stress testing framework.
cyanide (1.3.0) - Celery stress testing and integration test support.
pysle (1.5.7) - An interface to ISLEX, a pronunciation dictionary with stress markings.
ggf (0.3.2) - global geometric factors and corresponding stresses of the optical stretcher
pathod (0.17) - A pathological HTTP/S daemon for testing and stressing clients.
MatPy (1.0) - A toolbox for intelligent material design, and automatic yield stress determination
netblow (0.1.2) - Vendor agnostic network testing framework to stress network failures
russtress (0.1.3) - Package that helps you to put lexical stress in russian text
switchy (0.1.0a1) - A fast FreeSWITCH control library purpose-built on traffic theory and stress testing.
nx4_selenium_test (0.1) - Provides a Python class and apps which monitor and/or stress-test the NoMachine NX4 web interface
physical_dualism (1.0.0) - Python library that approximates the natural frequency from stress via physical dualism, and vice versa.
fsm_effective_stress (1.0.0) - Python library that uses the rheological-dynamical analogy (RDA) to compute damage and effective buckling stress in prismatic shell structures.
processpathway (0.3.11) - A nifty little toolkit to create stress-free, frustrationless image processing pathways from your webcam for computer vision experiments. Or observing your cat.

如果要使用 pip 安装应用程序,可以按以下方式使用它:

pip install <package_name>

pip 不支持使用 tab 键补全包名,因此包名称需要准确指定。 它将下载所有必需的文件并安装该软件包。

如果要删除通过 pip 安装的 Python 包,可以使用 pip 中的 uninstall 选项。

pip uninstall <installed_package_name>

你可以在上面的命令中使用 pip3 代替 pip

我希望这个快速提示可以帮助你在 Ubuntu 上安装 pip。 如果你有任何问题或建议,请在下面的评论部分告诉我。


via: https://itsfoss.com/install-pip-ubuntu/

作者:Abhishek Prakash 选题:lujun9972 译者:Flowsnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出