{{tag>[cli pipx python package-manager virtual-environment]}}
====== 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 등은 환경변수로 조정한다. 자세한 내용은 [[:python:pipx:config:ko]]를 참고한다.
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 --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 =====
* [[:python:pipx:config:ko]]
* [[:python:pip]]
* [[:python:venv]]
* [[:python:uv]]
* [[:python:uvx]]
* [[https://pipx.pypa.io/stable/|pipx 공식 문서]]
* [[https://pipx.pypa.io/stable/reference/cli.html|pipx CLI reference]]
===== History =====
* codex:: 2026-08-16 공식 문서를 기준으로 설치, 주요 command, 예제, troubleshooting을 정리함.
{{indexmenu>.#1|js}}