我需要我的setup.py
来调用另一个文件中的函数。我知道这可以通过设置cmdclass
来完成,例如:
import my_module
class Install(_install):
def run(self):
_install.run(self)
my_module.do_stuff()
setup(name='foo',
cmdclass={'install': Install},
)
但是我正在使用tox,它似乎不接受来自setup.py
的导入(它只是说无法找到模块)。
为了让tox运行,我可以把它放在tox.ini
而不是:
commands = path_to_my_module.py
它会运行得很好。
问题
如何在没有tox抱怨的情况下让setup.py
调用我的函数?
答案 0 :(得分:1)
tox
创建了一个virtualenv并将模块安装到其中。由于依赖关系列在setup.py
中,因此在调用setup.py
之后才会安装它们以确定它们是什么。因此,在setup.py
首次执行时,您的闪亮的新virtualenv中没有安装任何内容。
请使用deps
中的tox.ini
配置选项,因为根据文档https://testrun.org/tox/latest/config.html