Posted on
Software

pipx: Run Python CLI apps in isolation

Author
  • User
    Linux Bash
    Posts by this author
    Posts by this author

Pipx: Harnessing Python CLI Apps in Isolation with Ease

For many developers and system administrators who frequently use Python command-line tools, managing dependencies and avoiding conflicts can be a hassle. This is where pipx (Python isolated Pip eXecutables) shines as a utility. It allows you to install and run Python CLI tools in isolated environments, simplifying both their execution and management. In this blog, we’ll explore what pipx is, why it might be a valuable tool for you, and how to install it using various package managers like apt, dnf, and zypper.

What is Pipx?

pipx is a tool that installs and runs Python applications in isolated environments. This means that each tool you install using pipx has its dependencies managed separately, avoiding conflicts with other installed tools and your system libraries. It essentially ensures that you have a cleaner Python environment by default, reducing the chances of package version conflicts and other common Python development headaches.

Benefits of Using Pipx

  • Isolation: Each application is installed in its own virtual environment.

  • Safety: Installing and running applications in isolation keeps your global environment clean and your libraries conflict-free.

  • Convenience: With just a simple command, you can install, upgrade, and remove applications without affecting other dependencies.

Installation Instructions

On Ubuntu or Debian-based systems:

First, you need to ensure that your package index is updated and that Python is installed:

sudo apt-get update
sudo apt-get install python3 python3-venv python3-pip

Now, install pipx using pip:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

This will install pipx in your user base binary directory, typically ~/.local/bin. The ensurepath command is useful to make sure this directory is on your PATH.

On Fedora, CentOS, or RHEL:

For distributions using dnf, install Python and its virtual environment package:

sudo dnf install python3 python3-venv python3-pip

Proceed with installing pipx:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

On openSUSE or SUSE Linux:

For zypper, the installation process is similar:

sudo zypper install python3 python3-venv python3-pip

Followed by:

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Usage Examples

After installing pipx, using it is quite straightforward. Here are some common commands:

  • To install a new tool:

    pipx install PACKAGE_NAME
    
  • To list installed tools:

    pipx list
    
  • To run an installed tool:

    pipx run PACKAGE_NAME
    
  • To uninstall a tool:

    pipx uninstall PACKAGE_NAME
    
  • To upgrade a tool:

    pipx upgrade PACKAGE_NAME
    

Conclusion

pipx is a powerful tool for anyone working with Python CLI applications, offering a robust solution to manage them in isolated environments. By following the installation and usage guidelines above, you can start leveraging pipx to make your Python tool management simpler and more reliable. Whether it's through apt, dnf, or zypper, setting up pipx takes just a few steps and can significantly streamline the way you use Python applications on your system.