2009-09-23 9 views
2

저는 zc.buildout을 점점 더 많이 사용하고 있으며 해결 방법이있는 일부 조리법에 문제가 있습니다.Cheeseshop (pypi)에서 호스팅되는 패키지 개선에 기여하는 방법은 무엇입니까?

이 패키지는 일반적으로 몇 가지 범주로 나눌 수 있습니다 :

  1. 패키지 링크가있는 프로젝트 사이트
  2. 패키지에 명백한 링크 GitHub의 또는 구글 코드

설정 # 같은 호스팅 서비스를 무료로 2는 # 1보다 우수하지만 그다지 좋지 않습니다. 왜냐하면 두 상황 모두에 대해 개발자가 업데이트 된 패키지 빌드 아웃을 사용하기 전에 이러한 변경 사항을 적용하기를 기다려야하기 때문입니다.

내가 지금까지 해왔 던 것은 기본적으로 패키지를 포크하고 다른 이름을 지정하고이를 pypi에 업로드하는 것이지만 중복성을 생성하는 것이므로 문제가 심각하다고 생각합니다.

한 가지 가능한 해결책은 개발자가 패키지를 업데이트 할 때까지 업데이트 된 버전의 코드를 업로드하는 개인 서버 패키지 인덱스를 사용하는 것입니다. 이것은 가능하지만 추가 작업을 추가하므로 피하는 것이 좋습니다.

더 좋은 방법이 있나요?

답변

3

"내 개인 포크를 업로드"솔루션은 끔찍한 생각처럼 소리를 주셔서 감사합니다. 달걀을 자동으로 패치 할 수있는 http://pypi.python.org/pypi/collective.recipe.patch을 시도해야합니다. 시도하십시오 setting up a local PyPi-compatible index. 나는 또한 "거의 충분하다"패키지의 개인 버전이 들어있는 디렉토리 (http:// URL이 아닌)에 find-links =을 가리킬 수 있다고 생각합니다. 원숭이가 결함이있는 패키지를 패치하거나, ​​Zope 컴포넌트 모델을 이용하여 새로운 패키지의 필요한 비트를 덮어 쓸 수도 있습니다. PyPi에 이름을 올리지 않기로 결정했다 할지라도 진짜 저자는 패키지의 소스 코드의 어딘가에 종종 나열됩니다.

나는 내가 사용하는 패키지의 사용자 지정 버전 수를 줄이려고 노력해 왔습니다. 일반적으로 src/some.project를 프로젝트 코드의 내 체크 아웃에 연결하여 계란을 개발할 때 사용자 정의 된 패키지로 작업합니다. 새 달걀을 만들거나 그 패키지를 편집 할 때마다 다시 설치할 필요가 없습니다.

빌드 아웃에 사용되는 많은 Python 패키지가 Plone의 svn collective에서 호스팅됩니다. 해당 저장소에 대한 커밋 액세스를 얻는 것은 상대적으로 쉽습니다.

+0

http://pypi.python.org/pypi/collective.recipe.patch 패치를 생성 한 다음 개발자에게 보내고 개발을 계속할 수 있기 때문에 좋은 해결책입니다. –