技术学习 81 次浏览 10 次回复
withyou

注册会员

发表于 2023-7-10 16:49:45

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 应用的选项。
希望本教程对你有所帮助。如果你有任何问题或建议,请告诉我。

所有回复

withyou

注册会员

发表于 2023-7-10 17:05:30

感谢分享,学习了
withyou

注册会员

发表于 2023-7-10 17:12:52

不懂就问,只要是python吧
大石头

版主

发表于 2023-7-11 08:56:08

感谢分享
大石头

版主

发表于 2023-7-11 08:56:30

withyou 发表于 2023-7-10 17:12
不懂就问,只要是python吧

就是Python上用的
了却无痕

注册会员

发表于 2023-7-11 11:09:21

感谢分享
phaa

注册会员

发表于 2023-7-11 16:15:30

楼主辛苦了
cup

注册会员

发表于 2023-7-20 17:08:00

感谢分享
一键穿心

版主

发表于 2023-7-26 10:23:53

这就试试
zhupengxiang

新手上路

发表于 2023-9-1 09:14:12

这个好
12下一页
您需要登录后才可以发帖 登录 | 立即注册

本版积分规则

发帖之星榜

快速回复 返回顶部 返回列表