python - 在 setup.py 中清理 C++ 扩展构建目录

标签 python distutils

我有一个包含 C++ 扩展的 python 包。

C++ 扩展是在 setup.py 中使用它自己的 Makefile 构建的,.so 文件是在它自己的子文件夹中创建的,然后复制到构建文件夹中。

当我调用 python setup.py clean 时,只有构建目录被删除,但 cxxextension/build 没有被删除,所以如果我再次构建它,它只是复制而不是重新编译。

如何指示 setup.py clean 也删除我的 cxxextension/build 文件夹?

最佳答案

最简单的方法可能是在 setup.py 中手动处理它。您可以在调用 distutils.setup 之前向其中添加类似这样的内容:

import sys, shutil
if 'clean' in sys.argv:
    shutil.rmtree('cxxextension/build')

关于python - 在 setup.py 中清理 C++ 扩展构建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9117930/

相关文章:

python - 通过 setup.py 构建的 cython 做错事(将所有 .so 文件放在额外的 src 目录中)

python - 程序需要很长时间来计算......递归(python)

python流控制功能奇怪

python - 如何访问 distutils 版本号?

python - 使用一些arm-gcc交叉编译PyZMQ

python - 即使我正在链接必要的静态库,cython 模块也会引发 ImportError

python - 使用 setuptools 创建调用外部 C 库的 cython 包

python - 无法使用 Python 请求自动执行脚本来检查 phishcheck.me 上的 url

python - 正则表达式:正确匹配具有负面回顾的组

python - numpy 数组的奇怪复制构造