답변:
python setup.py install
직접 개발 / 수정 / 디버그하지 않을 패키지 (일반적으로 타사)를 설치하는 데 사용됩니다.
자신의 것을 위해 먼저 패키지를 설치 한 다음 매번 패키지를 다시 설치 하지 않고도 코드를 자주 편집 할 수 있기를 원합니다 . 패키지를 python setup.py develop
설치합니다 (일반적으로 소스 폴더). 코드를 (가상) 환경에 설치 한 후 편리하게 코드를 편집하고 변경 사항을 즉시 적용 할 수있는 방식으로.
그것은 매우 사용을 권장합니다 pip install .
(설치) 및 pip install -e .
호출로, 패키지를 설치 (개발자 설치) setup.py
등의 풀 prereleases와 호환되지 않는 패키지 버전과 많은 종속성에 대한 잘못된 일을 할 것입니다 직접, 또는으로 제거 하드 패키지를 만들 pip
.
python setup.py develop
지역 개발을 위해 Ceilometer를 설정하려고 할 때 문제가 발생했습니다. 내가 사용하는 결국 pip install -e PATH
피하기 위해 (A VIRTUALENV 이내) 를 통해 자른 문제easy_install
.
python setup.py develop
다르게 실행해야 합니까?
로부터 문서 . 이 develop
패키지를 설치하지 않습니다하지만이 생성됩니다 .egg-link
프로젝트 소스 코드 디렉토리에 배포 디렉토리 뒤에.
따라서 설치와 비슷하지만 복사하는 대신 site-packages
심볼릭 링크를 추가합니다 ( .egg-link
멀티 플랫폼 심볼릭 링크로 작동).
이렇게 하면 약간만 변경할 때마다 다시 설치 하지 않고도 소스 코드를 편집하고 변경 사항을 직접 확인할 수 있습니다. 이것은 프로젝트의 개발자 인 경우에 유용합니다 develop
. 다른 사람의 패키지를 설치하는 경우 사용해야합니다install
사람들 이이 develop
방법을 사용할 때 유용 할 수있는 또 다른 것은 --user
sudo없이 설치 하는 옵션입니다. 전의:
python setup.py develop --user
대신에
sudo python setup.py develop
setup.py develop
당신의 시스템에 있어서는 안되며 , 이것은 virtualenv에서만 의미가 있습니다.
python setup.py develop --user
내가 올바르게 이해한다면 항상 사용해야한다는 것을 의미 합니까? 또한, 패키지를 사용하여 패키지가 설치된 위치를 알려주시겠습니까 python setup.py develop --user
? 감사!
--user
홈 계정의 디렉토리에 설치되며 시스템의 다른 사용자에게는 영향을 미치지 않을 것이라고 생각합니다 . 은 develop
실제로 모든 것을 복사하는 대신 프로젝트 소스 디렉토리에 대한 링크를 만들 것입니다. develop --user
확인 develop
하고 virtualenv에도 있어야합니다 . develop
프로젝트 소스 코드의 개인 사본에서 프로젝트를 가리키는 무언가를 사용하는 다른 사용자가있을 수 있기 때문에 실제 시스템 에만 이상합니다.
setup.py develop
있는--uninstall
옵션 과 함께 제공됩니다 .