我怎样才能使我的setup.py
预删除和后删除构建目录?
问问题
59054 次
4 回答
135
这回答了吗?IIRC,您需要使用该--all
标志来摆脱以下内容build/lib
:
python setup.py clean --all
于 2009-10-20T14:12:39.410 回答
15
对于预删除,只需distutils.dir_util.remove_tree
在调用 setup 之前将其删除即可。
对于删除后,我假设您只想在选定命令后进行后删除。子类化相应的命令,覆盖其运行方法(在调用基本运行后调用 remove_tree),并将新命令传递到 setup 的 cmdclass 字典中。
于 2009-10-20T14:13:42.643 回答
11
这会在安装之前清除构建目录
python setup.py clean --all install
但根据您的要求:这将在之前和之后进行
python setup.py clean --all install clean --all
于 2017-01-20T16:55:52.473 回答
6
这是一个将马丁答案的编程方法与马特答案的功能相结合的答案(一个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}
)
于 2015-05-14T15:44:09.037 回答