pipx란?
pipx는 Python으로 작성된 최종 사용자 애플리케이션을 설치하고 실행하는 데 도움을 주는 도구입니다. 대략 macOS의 brew, JavaScript의 npx, 그리고 Linux의 apt와 비슷합니다.
pip와 밀접한 관련이 있으며, 실제로 pip를 사용하지만, 주로 명령줄에서 직접 애플리케이션으로 실행할 수 있는 Python 패키지를 설치하고 관리하는 데 중점을 둡니다.
pip와의 차이점
pip는 환경 격리 없이 라이브러리와 애플리케이션 모두를 위한 범용 패키지 설치 도구입니다. pipx는 애플리케이션 설치를 위해 특별히 만들어졌으며, 격리를 추가하면서도 여전히 애플리케이션을 쉘에서 사용할 수 있게 해줍니다. pipx는 각 애플리케이션과 관련 패키지에 대해 격리된 환경을 만듭니다.
pipx는 pip에 포함되어 있지 않지만, 시스템을 부트스트랩하는 중요한 과정 중 하나로 자주 설치됩니다.
주요 기능
pipx는 다음을 가능하게 해줍니다:
install
명령을 사용하여 격리된 환경에 설치된 패키지("apps")의 CLI entrypoints를 노출합니다. 이를 통해 의존성 충돌 없이 깨끗하게 제거할 수 있습니다!run
명령을 사용하여 최신 버전의 Python 애플리케이션을 임시 환경에서 실행할 수 있습니다.무엇보다도, pipx는 일반 사용자 권한으로 실행되며 절대 sudo pip install
을 호출하지 않습니다.
pipx의 작동방식
Linux에서 패키지와 해당 바이너리를 설치할 때 (pipx install package
), pipx는 다음을 수행합니다:
~/.local/share/pipx/venvs/PACKAGE
디렉토리를 생성합니다.