If you are a Python enthusiast, you may often use the pip tool to install and manage your favorite Python packages and modules. However, did you know that pip has some drawbacks, such as the possibility of conflicting with your system package manager or the need to create a separate virtual environment for each application? Fortunately, there's a better option, and it's called pipx . pipx is a tool for installing and running Python applications in an isolated virtual environment. It allows you to easily manage Python applications in Linux. In this article, we will show you how to install and use pipx on Ubuntu and other Linux distributions.
However, in recent releases, pip
users have encountered external management environment errors.

error: externally-managed-environment
This is a "feature" added to avoid conflicts between Python packages installed via pip and the native package manager. Python expects you to use a separate virtual environment rather than installing packages globally via pip
.
This is where pipx
comes into play. It creates a new virtual environment for each app you install, and then creates links to local binaries in /bin
at the global level. It's all automatic. It saves you time and energy.
Let’s see how to install and use pipx
on Ubuntu and other Linux distributions.
Installing pipx on Ubuntu and other Linux
Installation is simple and can be installed on Ubuntu and Debian using the following command:
sudo apt update && sudo apt install pipx
For other distributions, please use your package manager and install it.
Once you have finished installing, add it to $PATH so you can access it from anywhere:
pipx ensurepath

install pipx in ubuntu
Close the terminal and restart it. That's it! Now, let's see how to use it.
Use pipx
What is the main purpose of a package manager? Package installation, update and removal.
Let me show you how to use pipx
to do the following:
- Search package
- Package installation
- upgrade
- Package removal
Let’s start with installation.
How to use pipx to install the package
To install a package using pipx
you must follow a simple command syntax:
pipx install
For example, here I installed a very useful program Cowsay:
pipx install cowsay

install python packages in isolation using pipx in ubuntu
Similarly, if you want to install a specific version of a package, you must ==
followed by the version number, like this:
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 应用的选项。
The above is the detailed content of pipx: Let you easily manage Python applications in Linux. For more information, please follow other related articles on the PHP Chinese website!

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

手机远程linux工具有:1、JuiceSSH,是一款功能强大的安卓SSH客户端应用,可直接对linux服务进行管理;2、Termius,可以利用手机来连接Linux服务器;3、Termux,一个强大的远程终端工具;4、向日葵远程控制等等。

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Atom editor mac version download
The most popular open source editor

Dreamweaver Mac version
Visual web development tools

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),