从 distutils 设置调用中获取发行版

Get the distro from a distutils setup call

我想对一些 Python 扩展进行单元测试。为了实现这一点,我在脚本中 运行ning setup()

from distutils.core import setup, Extension
import os

DIR = os.path.dirname(__file__)

def call_setup():
    module1 = Extension('callbacks',
        sources = [os.path.join(DIR, 'callbacks.c')])

    setup(
        script_name = 'setup.py',
        script_args = ['build'],
        name = 'PackageName',
        ext_modules = [module1])

为了避免在测试目录中留下垃圾,我想在测试后清理构建 运行。我想在单元测试中 运行 distutils.command.clean.clean() tearDown()。如何获取必须作为参数传递给 clean() 的发行版的 dist 对象?

谢谢

看起来你对 setup() 的调用应该 return a Distribution instance.

See the setup() function for a list of keyword arguments accepted by the Distribution constructor. setup() creates a Distribution instance.