programing

"pip install -e"의 사용 사례는 무엇입니까?

bestprogram 2023. 6. 6. 10:24

"pip install -e"의 사용 사례는 무엇입니까?

제가 가장 좋아하는 프로젝트 중 하나를 수행해야 할 때, 저는 그냥 평소처럼 저장소를 복제합니다.git clone <url>), 필요한 내용 편집, 테스트 실행, 업데이트setup.py버전, 커밋, 푸시, 빌드 및 패키지를 PyPI에 업로드합니다.

사용의 이점은 무엇입니까?pip install -e사용해야 하나요?워크플로우를 어떻게 개선할 수 있습니까?

찾았습니다pip install -e제가 많이 하는 제품과 의존성을 동시에 개발할 때 매우 유용합니다.

예:

당신은 수많은 고객을 위해 장고를 사용하여 웹사이트를 구축하고, 또한 많은 프로젝트에서 재사용할 수 있는 위치라는 사내 장고 앱을 개발하여 pip 및 버전으로 제공합니다.

프로젝트에서 작업할 때는 사이트 패키지에 위치를 설치하는 요구 사항을 평소와 같이 설치합니다.

하지만 곧 위치가 개선될 수 있다는 을 알게 될 것입니다.

그러면 위치 저장소의 복사본을 가져와 변경을 시작합니다.물론 장고 프로젝트의 맥락에서 이러한 변경 사항을 테스트해야 합니다.

프로젝트에 들어가서 다음을 입력하기만 하면 됩니다.

pip install -e /path/to/locations/repo

이렇게 하면 사이트 패키지의 디렉토리가 위치 저장소에 대한 심볼릭 링크로 덮어쓰게 됩니다. 즉, 사이트 패키지의 코드 변경 내용이 자동으로 반영됩니다. 개발 서버를 사용하는 한 페이지를 다시 로드하면 됩니다.

심볼릭 링크는 디렉터리의 현재 파일을 봅니다. 즉, 분기를 전환하여 변경 사항을 보거나 다른 작업을 시도할 수 있습니다.

대안은 새로운 버전을 만들고, 그것을 pip에 밀어넣고, 당신이 아무것도 잊지 않기를 바라는 것입니다.이러한 사내 앱이 많은 경우 이를 빠르게 유지할 수 없게 됩니다.

시간이 없는 분들을 위해:

를 사용하여 프로젝트를 설치하는 경우-e깃발(예:pip install -e mynumpy코드에 사용합니다(예:from mynumpy import some_function), 변경 사항이 있을 수 있습니다.some_function업데이트된 기능을 다시 설치하지 않고 사용할 수 있어야 합니다.

pip install -e setuptools 종속성을 처리하는 방법은pip일반적으로 수행하는 작업은 다음과 같은 종속성을 설치하는 것입니다.

  • git clone URL
  • cd project
  • 달려.pip install -e .또는pip install -e .[dev]*

이제 모든 종속성을 설치해야 합니다.

*[dev] is the name of the requirements group from setup.py


셋업 툴(에그) 외에도 파이썬 설치의 휠 시스템도 있습니다.이 두 시스템은 모두 빌드 및 컴파일이 수행되지 않는다는 약속을 기반으로 합니다.

언급URL : https://stackoverflow.com/questions/42609943/what-is-the-use-case-for-pip-install-e