3

現在、純粋な python でカスタム地理空間スクリプト/モジュールを作成しています。これらは、私が書いている会社の内部の中程度のサイズのユーザーベースに配布されています. ユーザーは複数の種類の Linux、OS X、および Windows を使用しているため、一連のシステムへのインストールをサポートできる必要があります。私の依存関係の広範なリストは次のとおりです。

Basemap NumPy SciPy PIL Python 2.7+ を使用した GDAL Matplotlib

他のユーザーがインストールの連絡先である場合、このように多様なユーザーのためにツールのライブラリをどのように維持してきたのでしょうか? 現在検討中:

  1. 必要なものすべてを備えた LUbuntu VM を作成し、ネットワーク経由で実行するか、ユーザーのマシンでローカルに実行します。

  2. FWTools を変更し、必要なコンポーネントを追加します。FWTools は、ユーザーがスクリプトを呼び出したときにローカルの自己完結型環境を設定することによって機能します。

  3. ユーザーがブラウザー経由で bash シェル / Python インタープリターにアクセスできるようにするPythonEveryWhereのような実装を作成します。データはユーザーの共有ドライブからネットワーク経由でプルされ、出力はそのドライブに取り込まれます。

  4. Pip / easy_install / Py2EXE / Py2App はテスト済みですが、複数のプラットフォーム間でうまくいかない (GDAL は大きな問題です) か、依存関係の数を考えると非常に大きな配布可能ファイルを作成します。

他にどのような実装が機能しますか? 明らかな配布手法がありませんか?

4

1 に答える 1

1

http://www.pyinstaller.org/

Python ランタイム全体、スクリプト、依存関係などを丸呑みします。

欠点は、バイナリがすべてをメモリに展開してそこから開始する必要があるため、アプリの起動に時間がかかることです。

メリットは明らかに大きいです。バイナリは自己完結型であるため、脆弱な Python インストールと依存関係を維持する必要はありません。インストールなし、何もありません。

于 2013-01-18T17:41:41.593 に答える