どのように私は手動でpkg_resourcesとディストリビューションを登録することができますか?

StackOverflow https://stackoverflow.com/questions/599205

質問

私はGoogle App Engineの上にインストールパッケージを取得しようとしています。パッケージはpkg_resourcesにかなり広範囲に依存しているが、App Engineの上setup.pyを実行する方法はありません。

がありしかし、ソースには、プラットフォーム固有のコードませんので、単にソースを圧縮し、システムパスのものが含まれるように、それは問題ありません。そして、私はpkg_resourcesインストールと同様の作業のバージョンを得てます。

唯一の問題は、パッケージを取得している、実際にpkg_resourcesの登録、それはiter_entry_pointsを呼び出したときには、適切なプラグインを見つけることができます。

どのような方法で私はすべての適切なメタデータとsys.path上のモジュールを登録するために呼び出す必要がない、と私はそのメタデータがあることを必要とするものかを把握できますか?

役に立ちましたか?

解決

単に通常どおりにパッケージのsetup.pyを作成し、ソースzipファイルを構築するための「setup.py sdistの--formats =ジップ」を使用します。構築されたソースのzipは、pkg_resourcesによって検索可能になります.egg-infoのメタデータディレクトリが含まれます。代わりに、すべてのあなたのパッケージのためのbdist_eggを使用することができます。

他のヒント

はい、setuptoolsのベースのライブラリを、あなたはそれと一緒に図書館の「卵」のメタデータを展開する必要があります。私が見つけた最も簡単な方法は、あなたを含む全 virtualenvのの環境を展開することですプロジェクトと必要なライブラリます。

私は手動でこのプロセスを行なったし、pkg_resourcesが動作するような方法でのsite-packagesフォルダを初期化するをmain.pyためにこのコードを追加します:

import site
site.addsitedir('lib/python2.5/site-packages')

ただし、ほとんどの自動化のappengine-猿を試みることができますあなたのためにこれを。

必要なメタデータが含まれてZipアーカイブを作成しますpython setup.py bdist_egg実行するローカルの開発システム、オン。あなたのsys.pathにそれを追加し、それが正常に動作する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top