디스트패키지(dist-package)와 사이트패키지(site-package)의 차이점은?
나는 파이톤 패키지 설치 과정에 약간 당황했다.구체적으로, dist-package 디렉토리에 설치된 패키지와 사이트-package 디렉토리의 차이점은 무엇인가?
dist-packages
우분투와 같은 파생상품에도 존재하는 데비안 특유의 컨벤션이다.모듈이 다음 위치에 설치됨dist-packages
Debian 패키지 매니저에서 이 위치로 이동했을 때:
/usr/lib/python2.7/dist-packages
이후easy_install
그리고pip
패키지 관리자에서 설치되며, 또한dist-packages
, 그러나 그들은 여기에 소포를 넣는다.
/usr/local/lib/python2.7/dist-packages
현장 검색 대신 원거리 검색데비안 패키지에서 설치된 제3자 파이톤 소프트웨어는 사이트 패키지가 아닌 디스트 패키지에 들어간다.이는 Python 시스템과 사용자가 수동으로 설치할 수 있는 원본 Python 빌드 간의 충돌을 줄이기 위한 것이다.
이것은 당신이 수동으로 원본에서 Python을 설치할 경우, 그것은 디렉토리를 사용한다는 것을 의미한다.특히 데비안과 우분투는 많은 시스템 유틸리티를 위해 파이썬의 시스템 버전에 의존하기 때문에 두 개의 설비를 분리하여 유지할 수 있다.
dist-packages
데비안 특정 디렉토리(debian Specific directory)이며,apt
그리고 친구들은 그들의 물건을 설치하고,site-packages
표준이다pip
전화번호부
문제는 -- 같은 패키지의 다른 버전이 다른 디렉토리에 있을 때 어떻게 되는가 입니다.
그 문제에 대한 나의 해결책은 만드는 것이다.dist-packages
에 대한 심볼 링크.site-packages
:
for d in $(find $WORKON_HOME -type d -name dist-packages); do
pushd $d
cd ..
if test -d dist-packages/__pycache__; then
mv -v dist-packages/__pycache__/* site-packages/__pycache__/
rmdir -v dist-packages/__pycache__
fi
mv -v dist-packages/* site-packages/
rmdir -v dist-packages
ln -sv site-packages dist-packages
popd
done
(gnu 도구를 사용하지 않는 경우, 제거-v
옵션).
'Programing' 카테고리의 다른 글
Vue.js에서 사용자 지정 링크 구성 요소를 생성하는 방법 (0) | 2022.03.21 |
---|---|
외부로부터 로컬 Django 웹서버에 액세스하는 방법 (0) | 2022.03.21 |
정적 자산을 nuxt 생성과 함께 동적으로 포함하는 방법 (0) | 2022.03.20 |
경로 문자열을 개체 값과 결합하는 Vue JS v-bind 이미지 src 특성이 작동하지 않음 (0) | 2022.03.20 |
가중치 있는 랜덤 버전.선택하다 (0) | 2022.03.20 |