setup.py develop
その場でPythonの卵を作成します。Python環境を[変更]しない ため、パッケージを現在の場所からインポートできます。それでも、その場所をPython検索パスに追加するか、配置されているディレクトリを現在のディレクトリとして使用する必要があります。
インプレースeggを作成するのはコマンドの仕事です。これには、develop
C拡張機能のコンパイル、2to3 python変換プロセスの実行によるPython3互換コードの作成、および他のpythonコードが依存している可能性のあるメタデータの提供が含まれます。パッケージをeggとしてsite-packages
ディレクトリにインストールすると、同じメタデータもそこに含まれます。データは確かに一時的なものではありません(setup.py
他のツールで簡単に解析できるようにファイルから抽出されます)。
その目的は、パッケージの開発中に、存在するメタデータに依存するより広いシステムでパッケージを使用するときに、そのメタデータに依存できるようにすることです。たとえば、ビルドアウト開発デプロイメントではmr.developer
、作業が必要なときに特定のパッケージのソースコードをフェッチするプロセスを自動化するためによく使用します。これにより、パッケージを開発エッグとしてビルドし、作業中にデプロイメントに結び付けます。コード。
ディレクトリは特定の目的を果たしていることに注意してください。つまり.egg-info
、setuptoolsエコシステム内の他のツールにパッケージがインストールされて利用可能であることを通知します。パッケージがセットアップ内の別のeggの依存関係である場合、その依存関係は満たされます。pip
そしてeasy_install
、ビルドアウトは代わりにどこかから卵をフェッチしようとはしません。
.egg-info
ディレクトリの作成とは別に、コマンドが実行する他の唯一のことは、拡張機能をインプレースで構築することです。したがって、代わりに探しているコマンドは次のとおりです。
setup.py build_ext --inplace
setup.py develop
これは、ディレクトリを除外するのとまったく同じことを行い.egg-info
ます。また、.pth
ファイルは生成されません。
.pth
ファイルのみを生成し、.egg-info
ディレクトリ生成を除外する方法はありません。
技術的には、名前空間パッケージをサポートするためsetup.py develop
にsetuptoolsファイルがインストールされているかどうかもチェックしますが、ここでは関係ありません。site.py