pip가 ~/.local/bin에 패키지를 설치하는 이유는 무엇입니까?

pip가 ~/.local/bin에 패키지를 설치하는 이유는 무엇입니까?

이 "Taurus Blazemeter 'bzt'" 프로그램을 pip로 설치하면 ~/.local/bin 해당 폴더에 설치가 완료됩니다.

mkdir ~/bzt && cd ~/bzt
sudo apt-get install python default-jre-headless python-tk python-pip python-dev libxml2-dev libxslt-dev zlib1g-dev
sudo pip install bzt

이 폴더의 목적 ~/.local과 이와 같은 Python 프로그램이 왜 거기에 설치되어 있는지 아는 사람이 있습니까?

답변1

간단히 말해서 이는 사용자 로컬 설치를 수행하는 경우 실행 파일이 설치될 수 있는 ~/.local/binPython 사용자 스크립트 디렉터리의 기본값입니다 . 또한 사용자 기본 디렉터리의 기본값인 pip다른 하위 디렉터리에 파일을 설치할 수도 있습니다 . ~/.local자세한 내용은 아래를 참조하세요.


이것이 최초의 소개였는지는 잘 모르겠지만, 카탈로그 ~/.local파일 시스템 계층 사양~의체계다음 하위 디렉터리를 정의하는 init 시스템 ~/.local:

~/.local/bin

사용자의 $PATH 검색 경로에 나타나야 하는 실행 파일입니다. 쉘 호출에 유용하지 않은 실행 파일을 이 디렉토리에 두지 않는 것이 좋습니다. 이러한 파일은 ~/.local/lib의 하위 디렉토리에 배치해야 합니다. 아키텍처 종속 바이너리를 이 위치에 배치할 때는 주의해야 합니다. 홈 디렉터리가 아키텍처가 다른 여러 호스트 간에 공유되는 경우 문제가 발생할 수 있습니다.

~/.local/lib

모든 아키텍처와 호환되는 정적 프라이빗 공급업체 데이터입니다.

~/.local/lib/arch-id

공용 동적 라이브러리를 배치할 위치입니다. 사용할 스키마 식별자는 다중 스키마 스키마 지정자(튜플) 목록에 정의됩니다.

~/.local/share

글꼴이나 아트웍과 같은 여러 패키지 간에 공유되는 리소스입니다. 일반적으로 이 디렉터리에 저장된 파일의 정확한 위치와 형식은 상호 운용성을 보장하는 사양에 따라 결정됩니다. 응용 프로그램이 $XDG_DATA_HOME 설정을 발견하면 이 디렉토리 대신 여기에 지정된 디렉토리를 사용해야 합니다.

Python의 디렉토리 채택은 ~/.localPython 2.6에 도입된 것으로 보이며 PEP(Python Enhancement Proposal) 370에 문서화되어 있습니다.

사양에는 Mac OS X를 포함한 Unix 시스템에 대한 다음 정의가 포함되어 있습니다.

  • 사용자 기본 디렉터리

    ~/.local

  • 사용자 스크립트 디렉터리:

    ~/.local/bin

  • 사용자 사이트 디렉토리:

    ~/.local/lib/python2.6/site-packages

  • 사용자 데이터 디렉토리:

    ~/.local/lib/python2.6

이것으로부터 우리는 Python이 소위 "기본 사용자 디렉터리"라는 개념을 가지고 있으며 기본값은 다음과 같다는 결론을 내릴 수 있습니다 ~/.local.site이 모듈에 대한 Python 문서. 특히, 사용자의 기본 디렉토리와 사용자 사이트 디렉토리를 결정하는 방법 --user-base--user-site옵션 플래그의 값을 제공합니다. 다음과 같이 사용할 수 있습니다.

user@host:~$ python -m site --user-base

/home/user/.local

user@host:~$ python -m site --user-site

/home/user/.local/lib/python2.7/site-packages

~/.local내가 참조로 사용한 디렉토리와 관련하여 StackExchange 사이트에 게시된 몇 가지 질문이 있습니다.

관련 정보