2012-01-12 35 views
4

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

回答

5

下面的代码创建一个新的构建命令,在委派给原始构建命令之前调用您自己的自定义功能。在以下内容中,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, 
    }, 
) 
相关问题