3

Python アプリケーションを同僚が使用できるように配布したいと考えています。アプリケーションは Linux システムで実行されますが、ユーザーには管理者権限がないため、アプリケーションのモジュールの依存関係をインストールできません。ユーザーがアプリケーションを untar してから、main.py スクリプトを実行できるようにします。別の 1 回限りの「インストール」タイプのスクリプトを実行することは問題ありませんが、それ以外のことはあまりありません。

PyInstallerは私が望むものに近いです。ただし、アプリケーションのソース コードも配布したいと考えています。したがって、アプリケーションはスタンドアロンで自己完結型である必要があります (Python インタープリターの有無にかかわらず問題ありませんが、できれば使用できます) が、ユーザーはコードに小さな変更を加えてアプリケーションを再実行できる必要があります。私の理想的な解決策は、すべてのアプリケーション モジュールの依存関係の何らかの圧縮/コンパイル済みアーカイブを作成し、それをアプリケーションと共に配布することです。すべての依存関係である必要はありませんが、少なくとも非標準パッケージです。アプリケーションは、ユーザーの PYTHONPATH ではなく、このアーカイブからモジュールをインポートします。

私は virtualenv を試しましたが、ユーザーに activate スクリプトを提供させるのは少し多すぎました。他の多くのソリューションを検討してきましたが、自分に合ったソリューションが見つかりません。

4

2 に答える 2

0

1 つのアプローチは、virtualenvを使用することです。隔離された python 環境を作成するように設計されており、うまく機能します。それは可能であるはずです(少し努力して、virtualenvをアプリにパッケージ化するためのリンク。ただし、virtualenvはそのように設計されていないため、可能な限り簡単ではありません。

package-virtualenv GitHub プロジェクトも役立つかもしれません。

于 2013-09-08T04:36:39.193 に答える