4

.pyいくつかの依存関係 (ロックファイル、python-daemon)を持つ単一の Python3モジュールがあります。ユーザーが他のモジュールをダウンロードしてインストールする必要がないように、これをその依存関係とともにパッケージ化する簡単な方法はありますか? すべて含まれたインストールは、私がやろうとしていることです。

setuptools、distribute、distutils を調べてみたところ、開始時よりもさらに混乱してしまいました。

4

5 に答える 5

2

よく使用される最も簡単な方法は、すべての依存関係を 1 つのファイル (通常は という名前requirements.txt) に入れ、ユーザーに次のコマンドを実行するように依頼することです。

pip install -r requirements.txt

ファイルの内容の例を次に示します ( https://github.com/cenkalti/pypi-notifier/blob/master/requirements.txt ):

Flask==0.10.1
Flask-Cache==0.12
Flask-SQLAlchemy==1.0
Flask-Script==0.5.3
GitHub-Flask==0.3.4
Jinja2==2.7
MarkupSafe==0.18
SQLAlchemy==0.8.2
...
于 2013-09-11T17:43:33.140 に答える
1

cx_Freezeは、探していることを行う必要があります。

于 2013-09-11T17:48:11.023 に答える
0

py2exe は問題ありませんが、Windows に制限されます。

対象者を制限せず、一般的に受け入れられているベスト プラクティスに従うのが最善の方法は、requirements.txtandsetup.pyファイルを作成し、プロジェクトをgithubにアップロードすることです。リファレンスとしてhttps://github.com/sourcegraph/python-depsを参照してください。はrequirements.txt依存関係をシンプルで読みやすい形式で一覧表示し、setup.pyのscriptsおよびオプションを使用して、プロジェクトがインストールするコマンドとライブラリ モジュールを指定します。py_modules

git リポジトリが github.com/foo/bar にあると仮定すると、ユーザーはpip install git+https://github.com/foo/bar.

于 2013-09-12T04:45:13.980 に答える
0

これは、すべてのファイルを含む .zip ファイルのような単純なもので簡単に実行できます。すべてのファイルが同じディレクトリにエクスポートされている限り、それらはすべて機能するはずです! モジュールに多くの依存関係がある場合、つまり、見つける必要のある余分なフォルダーがある場合は、失敗します。

また、かなりの数の人々/企業が独自のパッケージング システムを作成しているため、すべてのモジュールが 1 つの .py ファイルに含まれ、コンソールで開き、すべてが正しい場所にエクスポートされると思います。ただし、これにはかなりの作業が必要になるため、事前に作成されたものを見つけてみてください。私はこの方法を試しましたが、ファイルを含む .zip を解凍する必要があるまでは、負担が大きすぎるとは証明されませんでした...

別の解決策として、PyExe(私はそれと呼ばれていると思います)を試して、すべてを単一の.exeファイルにエクスポートすることができます(Windowsのみ)

私は個人的に setuptools、distribute、distutils を使用したことがないので、残念ながらそれらについてコメントすることはできません。

もう 1 つ注意すべき点は、各モジュールのライセンスです。一部のモジュールは再配布が許可されていない可能性があるため、最初に確認してください。

于 2013-09-11T17:50:53.427 に答える