在setup.py中构建前运行.py文件

4 投票
1 回答
2288 浏览
提问于 2025-04-17 10:03

我正在用easyinstall创建一个setup.py文件,我需要在构建完成之前执行同一个项目中的某个py文件。我试过使用setup_requires和ext_modules,但这两者似乎都无法调用同一个项目中的python文件。

1 个回答

7

下面的代码创建了一个新的构建命令,它会在执行原始构建命令之前,先调用你自己的自定义函数。在这里,RunYourOtherScript()代表你想在build之前运行的任何内容。这个内容可以是调用execfile('src/something.py'),或者更好的是使用相对导入和函数调用。

from distutils.command import build as build_module

class build(build_module.build):
  def run(self):
    RunYourOtherScript()
    build_module.build.run(self)

setup(
  ...
  cmdclass = {
      'build': build,
  },
)

撰写回答