setup.pyにビルドディレクトリのクリーニング
質問
どのように私は?私のsetup.py
プレ削除作成し、ビルドディレクトリを後削除できます。
解決
前の削除については、単に設定を呼び出す前にdistutils.dir_util.remove_tree
でそれを削除します。
ポスト・削除については、私はあなただけ選択したコマンドの後、削除投稿したいと仮定します。サブクラスそれぞれのコマンド、(ベースの実行を呼び出した後のinvoke remove_treeに)そのrunメソッドをオーバーライドして、セットアップのcmdclass辞書に新しいコマンドを渡します。
他のヒント
これはそれに答えるしていますか? IIRC、あなたが--all
のスタッフ外を取り除くためにbuild/lib
フラグを使用する必要があります:
python setup.py clean --all
をインストールする前に、これは、ビルドディレクトリをクリア
python setup.py clean --all install
しかし、あなたの要件に応じて:これは前にそれを行う、と
の後になりますpython setup.py clean --all install clean --all
ここではマットの回答(すべての可能なビルド領域の世話を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}
)
所属していません StackOverflow