我需要我的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
它会运行得很好。
问题
如何让我的 setup.py
调用我的函数而不让 tox 提示?
最佳答案
tox
创建一个 virtualenv 并将您的模块安装到其中。由于依赖项列在 setup.py
中,因此只有在调用 setup.py
以确定它们是什么之后才会安装它们。因此,在 setup.py
首次执行时, Shiny 的新 virtualenv 中并未安装任何内容。
考虑使用 tox.ini
中的 deps
配置选项,因为根据文档 https://testrun.org/tox/latest/config.html,这些软件包将在被测试的软件包之前安装。
关于python - 调用setup.py中的函数(使用tox),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25006009/