0

大きなPythonプログラムを1つのファイルにパッケージ化することを計画しています。

私の要件は次のとおりです。

  • ダウンロードするファイルは1つだけ
  • ファイルをチェックサムすることができます
  • 理想的には、ファイルにはいくつかのバージョン情報が含まれています
  • システムPythonを使用

これまでのところ、パッケージ形式の最適な候補は.eggと.zipです。

卵とジッパーの実際的な違いは何ですか?

私がやろうとしていること:

組み込みシステムは私のコードをダウンロードします、例えばpackage.zip; それは私のコードを開始します、例えばpython2 package.zip私のコードはそれ自身を検証することができます、例えばmd5sum sys.argv[0]。チェックサムは私のサーバーで報告および監視されます。

4

3 に答える 3

2

Zipfileは、組み込みのインポートによって自動的にインポートされるという点で、少し魔法のようなものです。私は卵を直接輸入しようとしたことがないので、それがうまくいくかどうかはわかりません。

卵を使用することで得られる大きなメリットは、パッケージの依存関係を指定できることです。これはあなたにとって大したことではないかもしれません。卵を使用して要件を設定し、(必要に応じて)pypiに公開すると、ユーザーの生活が楽になります。

パッケージ化されたら、pip(http://pypi.python.org/pypi/pip)を使用するとパッケージの処理が簡単になります。これは、pipページから直接リッピングされた例です-

$ pip install simplejson

$ pip install --upgrade simplejson

$ pip uninstall simplejson

あなたは小さな仕事から多くの強打を得る。物事をpypiにプッシュしたくない場合は、それを独自の秘密のPypi(Webサーバーを読み取る)に公開し、pipがパッケージの検索に別のURLを使用するように指定できます。

$ pip install -i http://mycoolserver.com/pypi

私はPIPの専門家ではありませんが、簡単なインストール(pipの前身)を使用すると、Apacheを使用して独自のPYPIを非常に簡単に作成できます。pypiディレクトリを公開し、インデックスを表示できるようにします(これは正しい用語だと思います)。これにより、ファイルシステムでpypiを参照できます。この設定で、パッケージにちなんで名付けられたディレクトリを作成し、そこに卵をドロップします。それは「うまくいく」(私にとってはうまくいく:-))

于 2012-03-01T15:58:17.043 に答える
1

zipファイルです。

パッケージ化に使用する方法に関係なく、ファイルでmd5sum(またはその他のハッシュ関数)を使用できます。ファイルの拡張子は関係なく、バイナリの内容が同じであるだけです。

于 2012-03-01T14:38:17.793 に答える
0

編集:あなたがあなたのニーズを明確にする前に私はこれを書きました。システムのPython実行可能ファイルを使用していないため、これは適合しないようです。

あなたの質問のタイトルは、通常の(つまり、Pythonista以外の)ウィンドウのエンドユーザーがダブルクリックして実行できるようにパッケージ化することを提案しています。Py2exeはまさにこの目的を果たします。

ほとんどのLinuxユーザーは、単一の実行可能ファイルではなく、setup.pyファイルを含むアーカイブであると想定しているため、この仮定を採用しました。Mac OS Xに関しては、私は本当に知りません。

于 2012-03-07T12:42:42.363 に答える