setuptoolsによって Python の名前空間パッケージの背後にある神話を理解するのが好きです。これが私がテストしたものです。
- で仮想環境を作ります
virtualenv
。 - PyPIで名前空間付きのパッケージを見つけます。
- でそのパッケージをインストールします
pip install
。 - インストールされたファイル階層を確認してください。
私が使用したパッケージはzope.interfaceで、virtualenv の次のファイル階層でうまく機能しました。
~virenv/.../site-packages/zope.interface-3.8.0-py2.6-nspkg.pth
/zope.interface-3.8.0-py2.6.egg-info/
/zope/
/interface/
/...
すべてがうまく見え、zope.interfaceが実際の名前空間付きパッケージとしてインストールされる方法が気に入っています (フォルダーzopeの下)。
それから、私は別のテストを行いました。それがあなたの助けを求めたい質問です. tared zope.interfaceソース ファイルをダウンロードしました。もう一度手動で再生するのが好きだった
- で仮想環境を作ります
virtualenv
。 - zope.interfaceをどこかにuntarします。
- でパッケージをインストールします
python setup.py install
。 - site-packagesで何が起こったのかを確認してください。
サイトパッケージは次のようになります。
~virenv/../site-packages/zope.interface-...egg/
/zope/
/__init__.py
/interface/
/EGG-INFO/
pip install
Q.手動では正確な結果が得られないのはpython setup.py install
なぜですか?