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

공용 동적 라이브러리를 배치할 위치입니다. 사용할 아키텍처 식별자는 Multiarch Architecture Specifiers(Tuples) 목록에 정의되어 있습니다.

~/.local/share

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

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

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

  • 사용자 기본 디렉터리

    ~/.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 사이트에 게시된 몇 가지 질문이 있습니다 .

관련 정보