, 이것은 일반적으로 좋은 생각이 아니다. 그것은 다른 패키지에 비우호적 인 것처럼 "당황 스럽다"는 것이 아니라, 그것은 당신과 당신의 사용자들에게 유지 관리 부담을 초래한다는 것입니다. (사용자에게 영향을 미치는 jsonpickle
에 수정 된 버그가 있다고 가정하지만 아직 수정 사항을 선택하지 않은 경우 정상적으로 수행 한 경우 업그레이드는 jsonpickle
이지만, 내부 사본을 사용하여 그들은 jsonpickle
소스와 당신의 패키지를 해킹하고, 패키지를 해킹하고, 수동으로 모두 설치해야합니다.)
때로는 여전히 가치가 있습니다. 예를 들어, 매우 인기있는 requests
모듈에는 urllib3
과 같은 다른 패키지가 its own copy 포함되어 있습니다. 그리고 그렇습니다. 위에서 설명한 두 가지 비용에 직면합니다. 그러나 이는 또한 request
의 각 버전이 urllib3
의 정확한 특정 버전에 의존 할 수 있음을 의미합니다. requests
은 드물게 사용되는 인터페이스 인 urllib3
을 많이 사용하고 알려진 버그 중 일부에 대한 해결 방법을 제공하기 때문에 유용 할 수 있습니다.
귀하의 경우에는 문제가되지 않습니다. 업스트림 관리자가 새 버전을 PyPI에 업로드 할 때까지는 번들 한 버전 인 jsonpickle
이 일시적으로 필요합니다. 문제는 사용자가 모두 다른 버전을 사용하는 것을 원하지 않는다는 것이 아닙니다. Repo를 복제하고 수동으로 설치하는 방법을 강요하고 싶지는 않습니다. 다행히 pip
한 줄에 어려움의 대부분을 포장하여 당신을 위해 처리합니다 :
pip install git+https://github.com/foo/bar
그것은 아름다운 해결책은 아니지만, 바로 일시적입니까?
사람들을 복제하고 수동으로 빌드하고 설치하지 않으려면 git + https : //github.com/foo/bar를 모두 투명하게 설치하십시오. PyPI를 업데이트 할 때까지 허용되는 임시 해결책입니까? – abarnert
결국에는 @ abarnet의 해결책을 찾아갔습니다.이 테스트는 일시적인 수정으로 모든 테스트가 통과 한 것 같습니다.그 동안 나는 jsonpickle 친구들에게 최신 버전을 pypi에 업로드하도록 시도하고 버그를 일으킬 것입니다. –