{{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}}