Mat*_*all 103
难道这个回答呢?IIRC,你需要使用--all
旗帜来摆脱以下的东西build/lib
:
python setup.py clean --all
Run Code Online (Sandbox Code Playgroud)
Mar*_*wis 11
对于预删除,只需distutils.dir_util.remove_tree
在调用setup之前删除它.
对于post-delete,我假设您只想在选定的命令后进行删除.子类化相应的命令,覆盖其run方法(在调用基本运行后调用remove_tree),并将新命令传递给cmdclass设置字典.
这将在安装之前清除构建目录
python setup.py clean --all install
Run Code Online (Sandbox Code Playgroud)
但是根据你的要求:这将在之前和之后完成
python setup.py clean --all install clean --all
Run Code Online (Sandbox Code Playgroud)
这是一个答案,结合了马丁答案的程序化方法和马特答案的功能(一个clean
照顾所有可能的构建区域):
from distutils.core import setup
from distutils.command.clean import clean
from distutils.command.install import install
class MyInstall(install):
# Calls the default run command, then deletes the build area
# (equivalent to "setup clean --all").
def run(self):
install.run(self)
c = clean(self.distribution)
c.all = True
c.finalize_options()
c.run()
if __name__ == '__main__':
setup(
name="myname",
...
cmdclass={'install': MyInstall}
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
39382 次 |
最近记录: |