在 Linux 中安装和使用 pipx

发表于:2023-6-25 09:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Sagar Sharma    来源:稀土掘金

  pip 是一种流行的工具,用于从 Python 包索引 中安装 Python 包和模块。
  然而,在最近的发行版本中,pip 用户遇到了 外部管理环境错误。
  这是为避免通过 pip 安装的 Python 包与本机包管理器之间发生冲突而添加的“功能”。Python 希望你使用单独的虚拟环境,而不是通过 pip 在全局安装包。
  这就是 pipx 发挥作用的地方。它为你安装的每个应用创建一个新的虚拟环境,然后在全局级别的 /bin 中创建到本地二进制文件的链接。这一切都是自动的。它为你节省时间和精力。
  让我们看看如何在 Ubuntu 和其他 Linux 发行版上安装和使用 pipx。
  在 Ubuntu 和其他 Linux 上安装 pipx
  安装很简单,可以在 Ubuntu 和 Debian 上使用以下命令安装:
  sudo apt update && sudo apt install pipx
  对于其他发行版,请使用你的包管理器并安装它。
  完成安装后,将其添加到 $PATH 以便可以从任何地方访问它:
  pipx ensurepath
  关闭终端并重新启动它。这就完成了! 现在,让我们看看如何使用它。
  使用 pipx
  包管理器的主要用途是什么? 软件包安装、更新和删除。
  让我向你展示如何使用 pipx 执行以下操作:
  ·搜索包
  · 包安装
  · 升级
  · 包移除
  让我们从安装开始。
  如何使用 pipx 安装包
  要使用 pipx 安装包,你必须遵循一个简单的命令语法:
  pipx install <package_name>
  例如,在这里,我安装了一个非常有用的程序 Cowsay:
  pipx install cowsay
  同样,如果你想安装特定版本的包,你必须在 == 后跟上版本号,如下所示:
  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:
  如何使用 pipx 升级包
  与任何其他现代包管理器一样,你可以一次升级所有包,也可以一次升级一个包。
  要一次升级所有软件包,你只需执行以下命令:
  pipx upgrade-all
  如你所见,它将 numpy 升级到最新版本。
  但是如果你想升级一个特定的包,你可以这样做:
  pipx upgrade package-name
  假设我想将 cowsay 包升级到最新版本,那么,我将使用以下命令:
  pipx upgrade cowsay
  如何使用 pipx 卸载包
  要删除包,你必须使用 uninstall 标志,如下所示:
  pipx uninstall package_name
  为了供你参考,在这里,我从我的系统中删除了 numpy:
  pipx uninstall numpy
  pip 还是 pipx?
  对 pip 的限制影响了最终用户对它的使用。值得庆幸的是,pipx 提供了急需的替代方案。它符合使用虚拟环境的 Python 准则,同时允许已安装的应用在全局范围内可用。
  对于不是 Python 应用开发的最终用户,这提供了使用发行版仓库中不可用的 Python 应用的选项。
  希望本教程对你有所帮助。如果你有任何问题或建议,请告诉我。
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号