pipx
pipx는 Python으로 배포되는 command-line application을 각각 격리된 virtual environment에 설치하고 실행하는 도구이다. Library 의존성을 현재 Python 환경에 직접 섞는 pip install과 달리 application별 환경을 만들고 실행 파일만 PATH에 노출한다.
Summary
- CLI application을 서로 격리해 설치, 업그레이드, 제거한다.
pipx run으로 application을 영구 설치하지 않고 임시 환경에서 실행한다.- 일반 사용자 권한으로 동작하며
sudo pip install을 사용하지 않는다.
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]
pipx COMMAND [OPTIONS] ARGS
Commands
pipx install [OPTIONS] PACKAGE_SPEC: package의 application을 격리 환경에 설치한다.pipx run [OPTIONS] APP [APP_ARGS…]: 임시 환경에서 application을 실행한다.pipx list [OPTIONS]: 관리 중인 package와 노출된 application을 표시한다.pipx upgrade [OPTIONS] PACKAGE: 지정한 package를 업그레이드한다.pipx upgrade-all [OPTIONS]: 관리 중인 package를 모두 업그레이드한다.pipx uninstall [OPTIONS] PACKAGE: package 환경과 노출된 application link를 제거한다.pipx inject [OPTIONS] PACKAGE DEPENDENCIES…: 기존 pipx 환경에 추가 package를 주입한다.pipx runpip PACKAGE PIP_ARGS…: 관리 중인 환경을 대상으로 pip 명령을 실행한다.pipx ensurepath [OPTIONS]: application directory를 shell의PATH에 추가한다.pipx environment [OPTIONS]: pipx 환경변수와 계산된 경로를 표시한다.pipx health: 관리 중인 환경의 상태를 검사한다.
Options
-h, –help: 도움말을 표시한다.–version: pipx 버전을 표시한다.–python PYTHON: 환경 생성에 사용할 Python interpreter를 지정한다.–global: 지원되는 command를 모든 사용자 대상 경로에 적용한다.–pip-args PIP_ARGS: 내부 package 설치 단계에 추가 pip argument를 전달한다.–output FORMAT: 지원되는 command의 출력을human또는json으로 지정한다.
–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
- pipx 자체는 Python 3.10 이상이 필요하다.
- macOS, Linux, Windows에서 동작한다.
- package source는 PyPI뿐 아니라 local directory, wheel, archive, Git URL 등 pip가 지원하는 형식을 사용할 수 있다.
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
- codex:: 2026-08-16 공식 문서를 기준으로 설치, 주요 command, 예제, troubleshooting을 정리함.