나는 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를 소개하고 싶지 않습니다.
필자는 pyparsing과 똑같은 접근법을 사용하고 있으며 어떤 반응을 볼지 기대합니다. – PaulMcG