목차

, , , ,

pipx

pipx는 Python으로 배포되는 command-line application을 각각 격리된 virtual environment에 설치하고 실행하는 도구이다. Library 의존성을 현재 Python 환경에 직접 섞는 pip install과 달리 application별 환경을 만들고 실행 파일만 PATH에 노출한다.

Summary

Installation

pipx 자체를 설치하려면 Python 3.10 이상이 필요하다. 설치 후 pipx ensurepath를 실행하고 새 terminal을 연다.

Debian / Ubuntu

Ubuntu 23.04 이상에서는 distribution package를 사용한다.

sudo apt update
sudo apt install pipx
pipx ensurepath

Debian 12 이상처럼 PEP 668을 적용한 환경에서는 python3 -m pip install –user pipx가 실패할 수 있으므로 distribution package 또는 별도 virtual environment를 사용한다.

RHEL / Fedora

Fedora에서는 공식 문서가 안내하는 DNF package를 사용한다.

sudo dnf install pipx
pipx ensurepath

macOS

brew install pipx
pipx ensurepath

Windows

공식 문서는 Scoop 또는 Python의 pip 설치를 안내한다. 현재 공식 winget 설치 방법은 제공하지 않는다.

scoop install pipx
pipx ensurepath
 
# Scoop을 사용하지 않는 경우
py -m pip install --user pipx

pip 설치가 pipx.exe의 directory를 PATH에서 찾지 못한다고 경고하면 표시된 경로의 executable로 ensurepath를 실행한 뒤 terminal을 다시 연다.

Verification

pipx --version
pipx list

Usage

pipx [OPTIONS] COMMAND [ARGS]

Commands

Options

–global은 subcommand 뒤에 둔다. 예: sudo pipx install –global PACKAGE. Windows에서는 global 설치를 지원하지 않는다.

Examples

설치와 관리

# application 설치
pipx install black
 
# 설치 목록 확인
pipx list
 
# 한 package 또는 전체 package 업그레이드
pipx upgrade black
pipx upgrade-all
 
# 제거 전 대상 확인 후 제거
pipx list --short
pipx uninstall black

임시 실행

처음 실행하는 도구는 –help부터 확인한다.

pipx run pycowsay --help
pipx run pycowsay moo

특정 Python과 extra 사용

pipx install --python python3.13 poetry
pipx install 'black[jupyter]'

의존성 주입

pipx inject ansible argcomplete
pipx list --include-injected

Configuration

저장 경로, 기본 Python, backend 등은 환경변수로 조정한다. 자세한 내용은 config를 참고한다.

pipx environment
pipx environment --value PIPX_HOME

Troubleshooting

command를 찾지 못하는 경우

pipx ensurepath

새 terminal을 열고 다시 확인한다. 기존 command보다 pipx application을 우선하려면 지원 버전에서 pipx ensurepath –prepend를 사용한다.

externally-managed-environment

PEP 668을 적용한 Debian/Ubuntu/Fedora에서는 user-site pip 설치 대신 apt install pipx 또는 dnf install pipx를 우선한다.

환경 상태 점검

pipx health
pipx repair

Compatibility

Help

+ pipx --help

pipx [-h] [--version]
     {install,install-all,uninject,inject,expose,unexpose,pin,unpin,upgrade,upgrade-all,upgrade-shared,uninstall,uninstall-all,reset,reinstall,reinstall-all,health,repair,list,interpreter,cache,manifest,run,exec,runpip,ensurepath,environment,completions,help} ...
 
options:
  -h, --help  show this help message and exit
  --version   Print version and exit

+

See Also

History