Programing

디스트패키지(dist-package)와 사이트패키지(site-package)의 차이점은?

c10106 2022. 3. 21. 08:30
반응형

디스트패키지(dist-package)와 사이트패키지(site-package)의 차이점은?

나는 파이톤 패키지 설치 과정에 약간 당황했다.구체적으로, dist-package 디렉토리에 설치된 패키지와 사이트-package 디렉토리의 차이점은 무엇인가?

dist-packages우분투와 같은 파생상품에도 존재하는 데비안 특유의 컨벤션이다.모듈이 다음 위치에 설치됨dist-packagesDebian 패키지 매니저에서 이 위치로 이동했을 때:

/usr/lib/python2.7/dist-packages

이후easy_install그리고pip패키지 관리자에서 설치되며, 또한dist-packages, 그러나 그들은 여기에 소포를 넣는다.

/usr/local/lib/python2.7/dist-packages

Debian Python Wiki 출처:

현장 검색 대신 원거리 검색데비안 패키지에서 설치된 제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옵션).

참조URL: https://stackoverflow.com/questions/9387928/whats-the-difference-between-dist-packages-and-site-packages

반응형