当前位置:   article > 正文

python setup.py build_ext,python – setup.py:在其他任何事情之前运行build_ext

python setup.py 之前运行一个函数

我正在使用setup.py,它在build_ext步骤中创建了一大堆SWIG接口文件.这需要先运行,因为后续的构建步骤需要一个完整的

python文件列表才能正常工作(比如将python文件复制到包目录,创建egg,创建源列表等).

当你进行setup.py安装时,这是当前发生的事情:

running install

running bdist_egg

running egg_info

running install_lib

running build_py

running build_ext

build_py步骤尝试将它找到的所有python文件复制到构建目录.在build_ext运行之前,这些文件不存在(swig会创建一堆.py文件).

This answer建议更改sub_commands,但似乎没有做任何事情.

我试着像这样继承class install类,在其他任何事情之前运行build_ext:

class Build_ext_first(setuptools.command.install.install):

def run(self):

self.run_command("build_ext")

super(Build_ext_first, self).run()

..然后使用cmdclass进行设置:

setup(

...

cmdclass = {'install' : Build_ext_first}

)

但是这不起作用,因为super不能用于旧式类,并且安装显然不会从对象继承.

我该如何先做build_ext?

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/1014875
推荐阅读
相关标签
  

闽ICP备14008679号