9

setupバージョン 0.9.6 でfromの呼び出しを呼び出すとsetuptools、次のコマンドを実行できます。

python setup.py clean

しかし、これは正確には何をするのでしょうか? このコマンドのヘルプは少しまばらで、実行中です

python setup.py clean --all

次のような役に立たないステートメントを提供します

'build/lib.linux-i686-2.7' does not exist -- can't clean it

このコマンドを使用して、たとえば、およびでclean終わる一時的な python ファイルを自動的にクリーンアップする可能性はありますか? これはこのコマンドで実行できますか、設定する必要がありますか?.pyc.~

4

1 に答える 1

7

私の知る限り、buildコンパイルが必要な拡張機能を含め、Pythonがインストールするすべてのファイルを配置するサブディレクトリを削除するだけです。

*.pycソース ディレクトリ内のいくつかのスクリプトで Python を実行した場合 (テストを実行した場合に発生する可能性があります)、またはソース ディレクトリから直接モジュールをインポートした場合を除き、他の場所にファイル があるべきではありません。*~ファイルは emacs バックアップ ファイルであるため、とにかくクリーンアップされませsetup.pyん。( からこの動作を見たことがあればmake clean、それは単に誰かが Makefile にコーディングしたためです。)

ファイルを (再帰的に) 削除する方法で clean コマンドをオーバーライドすることもできますが*.pyc、必要があるかどうかは疑問です。*.py一般に、Python は前者が変更された場合にファイルをファイルに再コンパイルするのに十分賢く*.pyc、そうでない場合は後者を使用する方が単純に高速です。

私が遭遇した1つの警告がありますsetup.py build_ext --inplace。それは、ビルドディレクトリにないため、クリーニングを行ってもコンパイル済みモジュールが削除されないことです。clean コマンドの欠点のように感じます。

全体としては、 の動作に合わせて clean コマンドが追加されたように見えますmakeが、あまり追加されていないようです。

于 2013-07-23T09:11:37.410 に答える