2009-06-23 10 views
14

Python 패키지 설치를 처리하는 가장 간단한 방법은 소스 제어 시스템에서 소스를 체크 아웃 한 다음 파이썬 dist에 심볼릭 링크를 추가하는 것입니다 -packages 폴더.pip를 사용하여 Python 패키지 설치 또는 repos의 easy_install

소스 제어가 다운 그레이드, 분기, 태그로의 업그레이드를 완벽하게 제어하므로 명확하게 작동합니다.

패키지 설치 프로그램 (easy_install 또는 pip 또는 기타) 중 하나를 사용하는 방법이 있습니까?

easy_install은 tar.gz를 가져 와서 python2.6의 dist-packages 폴더에 설치되는 setup.py install을 사용하여 설치합니다. 그것을 구성하거나 소스 버전 제어 시스템 (SVN/GIT/Hg/Bzr) 대신에 pip를 사용하는 방법이 있습니까?

답변

26

pip을 사용하면 매우 쉽습니다. 예를 들어 :

pip install -e hg+http://bitbucket.org/andrewgodwin/south/#egg=South 

핍은 자동으로 소스의 repo를 복제하고 (희망 virtualenv 인) 사용자 환경에 설치하기 위해 "개발있는 setup.py"실행됩니다. Git, Subversion, Bazaar 및 Mercurial 모두 지원됩니다.

또한 "pip freeze"를 실행하면 현재 설치된 패키지 목록을 정확한 버전 (개발 설치의 경우 VCS의 정확한 개정판 포함)으로 출력합니다.이 파일을 요구 사항 파일에 직접 넣은 다음 동일한 버전의 동일한 패키지 세트를 설치하려면 나중에

pip install -r requirements.txt 

을 실행하면됩니다.

+0

Infact 나는 현재 당신이 작성한 제거와 함께 제공되는 pip trunk를 사용합니다. –

+0

좋습니다. 네, 당신이 통제하에 있다고 생각했지만이 질문에 대한 답변을 다른 누군가에게 제공하고 싶었습니다. –

11

"setup.py"패키지가 포함 된 패키지의 소스 배포판을 다운로드하거나 체크 아웃 한 경우 - 패키지가 "setuptools"(전원 easy_install)를 기반으로하는 경우, 그 디렉토리로 이동하고 말할 수있다 : (

$ python setup.py develop 

및 소스 배포판의 평 파일을 별도로 설치 사본이 아니라, 수입받을 사람이되도록이 DIST-패키지의 오른쪽 심볼릭 링크를 만들 것이다 "setup.py install"이하는 일입니다. 변경을 시도하기 위해 소스 코드를 편집 할 때 즉시 변경되지 않는 별도의 복사본을 만듭니다.

다른 응답에서 알 수 있듯이 자세한 내용은 "setuptools"설명서를 읽어야합니다. "setup.py"는 정말 유용한 기능입니다! VIRTUALENV와 함께 사용하십시오, 당신은 고통과 패키지 만 일시적 개발로 시스템 전체 파이썬을 엉망으로하지 않고 "개발있는 setup.py"할 수 있습니다

http://pypi.python.org/pypi/virtualenv 
+2

+1 : virtualenv는 파이썬 개발을 할 때 필수적입니다. – codeape

+0

virtualenv는 필수입니다 <3 –

+3

또한 "pip install -e"에 유의하십시오. "python setup.py develop"와 동일하지만, setup.py에서 setuptools를 사용하지 않는 패키지와도 작동한다는 점을 제외하고는 (pip에서 강제로 사용하도록하기 때문에)> –

4

easy_install을 특정 다운로드에 대한 지원을하고 버전. 예 :

v1.4를 설치하고 버전이 지정되지 않은 경우 최신 버전 1.4.1이 선택됩니다.

또한 svn 체크 아웃을 지원하지만 수동 버전으로 많은 이점을 얻지는 못합니다. 자세한 내용은 위의 설명서를 참조하십시오.

특정 분기로 전환 할 수 있다는 것은 문제의 패키지를 개발하지 않는 한 거의 유용하지 않으며 일반적으로 어쨌든 사이트 패키지에 설치하는 것은 좋지 않습니다.

+0

python-dateutil = = 1.4.0 (double은 같음)? – typeoneerror

+0

예. 나는 그것을 고쳤다. –

0

easy_install은 소스 트리에 대한 URL도 허용합니다. 최소한 소스가 Subversion에있을 때 작동합니다.