我正在为现有可安装pip的项目添加功能,项目所有者认为我在setup.py安装要求中添加pandas
“太重”了,因为项目应该保持苗条。我添加的功能不需要pandas
(因为功能是在pandas.DataFrame
对象之上的操作),但是我为它编写的单元测试需要调用pandas
至setUp
测试DataFrame以进行变异。包装只能用于测试,不能用于安装?
是否有某种方法只需要pandas
用于单元测试?或者我只是没有把它添加到需求中,并提出一个错误,以便在单元测试运行时手动安装pandas
?
我认为'tests_require'是更好的方法,因为这会创建一个永远不会在生产中可用的可选功能。 – languitar
我以前使用'tests_require',但是离开它,因为我不喜欢安装依赖关系的方式,所以在CI中控制的很少。不是每个人都想使用'python setup.py test'作为执行测试套件的方式。 – wim
此方法仍然需要有关如何使用可选功能的知识,并在安装软件包时进行宣传。这可能有很好的理由,但通常我会倾向于在采用这种“黑客”之前使用预期的机制。另外,也许'tests_require'可能会在未来得到修复。 – languitar