私はまだpythonパッケージングに比較的慣れていません。「その」解決策を見つけたと思うたびに、別のカーブボールが投げられます。ここに私の問題とそれに続く私が試したことがあります:
- ネットから分割された Python 2.7.3 がインストールされた CentOS および Ubuntu システムがあるため、「オールインワン パッケージ」を作成する必要があります。
- ターゲット システムには、setuptools、easy_install、pip、virtualenv がインストールされていません(これは、ここで解決しようとしている問題です)
- requirements.txt (または setup.py install_dependencies) は、アプリケーションにとってかなり重い (Flask など) (実際には、これは問題ではありません)。
私のパッケージングの洗練はゆっくりと進んでいます。
接続されたシステムについては、非常に優れたプロセスがありました
- パッケージ化: python2.7 setup.py sdist
- インストール: virtualenv を作成し、ディストリビューションを解凍し、python setup.py install
切断されたシステムについて、いくつか試してみました。Wheels は適切なようですが、setuptools、easy_install、pip を含む「最終」インストールに到達できません。私は車輪に慣れていないので、おそらく何か明らかなことを見逃しています。
私はこれらの参照から始めました:
- Python on Wheels、これは非常に役に立ちましたが、.sh スクリプトやテスト データなどをインストールできなかったので、現在 wheel/sdist ハイブリッドを実際に使用しています。
- Wheel, the Docs、再び、非常に役に立ちますが、「切断されたシステムの最後のマイル」で立ち往生しています
- 次に、virtualenv をホイールとしてパッケージ化できることがわかりました :-) やった
- 次に、easy_install を python プログラムとしてパッケージ化できることがわかりました :-) ええ、でも setuptools に依存します。これらをパッケージ化/インストールする方法が見つかりません。
Pythonがあり、切断されているが、setuptools、pip、wheels、virtualenvがないシステムをブートストラップするための参照はありますか? この単純なエージェントをインストールするために人がしなければならないことの私のリストは、あまりにも長くなりすぎています :/ 依存関係の連鎖を完了することができれば、カスタム スクリプトを setup.py にラッチしてカスタム ステップを縮小する方法が必要だと思います。戻って...