在不同的nam下安装Python包

2024-06-01 09:52:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个名为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;对我来说,代码库必须是干净的,我真的不想引入兼容性黑客。在


Tags: 模块代码用户importpypi分支py3website