python - 调用setup.py中的函数(使用tox)

标签 python python-2.7 distutils tox

我需要我的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/

相关文章:

python - setup.py 将文件复制到特定位置

python - 如何在python中的sklearn中获取GridSearchCV中的选定特征

python - 如何创建 "at least n"约束?

python-2.7 - 如何在 python 中调用函数之前修改函数的局部变量

python-2.7 - cURL 与请求(SSL 问题?)

python - 你如何让 cimport 在 Cython 中工作?

python - 为 Distutils list 模板使用 MANIFEST.in 以外的名称

python - Spyder + Python 3.5 - 如何调试内核死机,重新启动?

python - 谷歌云平台: Pub/Sub to Bigtable

python - 如何编写装饰器并返回经过身份验证的对象