2010-05-27 5 views
4

나는 garlicsim이라는 패키지를 개발 중이다. (Website.)이 패키지는 Python 2.X를 대상으로하지만, garlicsim_py3이라는 다른 포크에서 Python 3을 지원하고 있습니다. (1)파이썬 패키지가 다른 이름으로 설치된다

이렇게 두 패키지는 모두 PyPI와 Python 3 명의 사용자가 garlicsim_py3을 설치하고 Python 2 사용자는 garlicsim을 설치합니다.

문제는 : 제 3 자 모듈이 garlicsim을 사용하고자 할 때, 참조 할 패키지 이름이 2 개가 아니라 하나가되어야합니다. 물론, 그들은 이런 식으로 할 수 있습니다 :

try: 
    import garlicsim 
except ImportError: 
    import garlicsim_py3 as garlicsim 

그러나 나는이 모듈의 개발자가 이렇게하지 않는 것을 선호합니다.

garlicsim_py3이 별칭 garlicsim 아래에 자동으로 설치되는 방법이 있습니까? 내가 원하는 것은 파이썬 3 사용자가 import garlicsim을 할 수 있고 모듈을 항상 garlicsim이라고 지칭하지만 실제로는 garlicsim_py3이 될 것입니다.

Distribute 프로젝트는 다음과 같은 것을 알고 있습니다. 그들은 setuptools을 가져올 수 있으며 코드로 리디렉션됩니다. 나는 그들이 어떻게하는지 전혀 모른다.

아이디어가 있으십니까?


(1) 동일한 코드베이스가 아닌 포크에서 파이썬 3을 지원하기로 결정했습니다. 코드베이스가 깨끗하게 유지되는 것은 중요하며, 필자는 compatibilty hacks를 소개하고 싶지 않습니다.

+0

필자는 pyparsing과 똑같은 접근법을 사용하고 있으며 어떤 반응을 볼지 기대합니다. – PaulMcG

답변

1

결국 나는 그것을하지 않기로 결정했습니다. 그리고 다른 PyPI 이름을 가지고 있더라도 두 프로젝트가 동일한 패키지 이름을 갖도록 결정했습니다.

관련 문제