2024-09-30 22:25:46 发布
网友
我有一个包含C++扩展的Python包。在
C++扩展是使用自己的Mag文件在^ {CD1>}中建立的,.so文件是在自己的子文件夹中创建的,然后在生成文件夹中复制。在
当我调用python setup.py clean时,只有构建目录被删除,但是cxxextension/build没有被删除,所以如果我再次构建它,它只是被复制而不是重新编译。在
python setup.py clean
cxxextension/build
如何指示setup.py clean同时删除我的cxxextension/build文件夹?在
setup.py clean
最简单的方法可能是在设置.py. 你可以在打电话之前加上这样的东西distutils.设置公司名称:
import sys, shutil if 'clean' in sys.argv: shutil.rmtree('cxxextension/build')
这个被接受的答案让我害怕,因为路径是相对的,当从python脚本中删除用户端的任何内容时,应该格外小心。您应该使用以下内容获取构建位置:
curdir = os.path.dirname(os.path.realpath(__file__)) buildir = curdir+os.sep+"build"
一旦您构建了一个更安全的路径,就可以将dir传递给shutil.rmtree。在
shutil.rmtree
另外,安全获取当前路径的更好方法是How do I get the path and name of the file that is currently executing?
最简单的方法可能是在设置.py. 你可以在打电话之前加上这样的东西distutils.设置公司名称:
这个被接受的答案让我害怕,因为路径是相对的,当从python脚本中删除用户端的任何内容时,应该格外小心。您应该使用以下内容获取构建位置:
一旦您构建了一个更安全的路径,就可以将dir传递给
shutil.rmtree
。在另外,安全获取当前路径的更好方法是How do I get the path and name of the file that is currently executing?
相关问题 更多 >
编程相关推荐