我正在开发一个名为garlicsim
的包。(Website)这个包是为Python2.X设计的,但是我也在另一个名为garlicsim_py3
的不同分支上提供了对Python3的支持
因此,这两个包在PyPI上并排运行,python3用户安装garlicsim_py3
,python2用户安装garlicsim
。在
问题是:当第三方模块想要使用garlicsim时,它们应该有一个包名来引用,而不是两个。当然,他们可以这样做:
try:
import garlicsim
except ImportError:
import garlicsim_py3 as garlicsim
但我不想让这些模块的开发人员这么做。在
有没有一种方法,garlicsim_py3
将自己安装在别名garlicsim
下?我想要的是python3用户能够import garlicsim
并一直将该模块称为garlicsim
,但实际上它将是garlicsim_py3
。在
我知道Distribute项目是这样做的:他们使您可以导入setuptools
,然后它将被重定向到它们的代码中。我不知道他们是怎么做的。在
有什么想法吗?在
(1)我已经决定在fork上而不是在同一个代码库中支持python3;对我来说,代码库必须是干净的,我真的不想引入兼容性黑客。在
最后我决定不做了,只是让两个项目有相同的包名,尽管它们有不同的PyPI名称。在
相关问题 更多 >
编程相关推荐