我忽略了此答案中的许可问题。在真正发布之前,您绝对需要考虑这些因素。
在setup.py中依靠这样的第三方库是否可以接受
是的,这是可以接受的,但是通常应将其最小化,特别是如果这些模块对于最终用户没有明显的用途。没有人喜欢拥有不需要或不使用的软件包。
建议使用什么方法?
基本上有3种选择:
引导它们(例如,
pip
以编程方式用于安装软件包)。例如,setuptools
提供了ez_setup.py
可用于引导的文件setuptools
。也许可以自定义下载和安装appdirs
。在您的项目中包括它们(尤其是如果是一个小包装)。例如
appdirs
,基本上只是一个文件模块。在您的项目中非常容易复制和维护。当您这样做时,请务必小心许可问题!如果无法导入它们并让用户安装它们,则优雅地失败。例如:
try:import appdirs
except importError:
raise importError(‘this package requires “appdirs” to be installed. ‘
‘Install it first: “pip install appdirs”.’)



