.py
いくつかの依存関係 (ロックファイル、python-daemon)を持つ単一の Python3モジュールがあります。ユーザーが他のモジュールをダウンロードしてインストールする必要がないように、これをその依存関係とともにパッケージ化する簡単な方法はありますか? すべて含まれたインストールは、私がやろうとしていることです。
setuptools、distribute、distutils を調べてみたところ、開始時よりもさらに混乱してしまいました。
.py
いくつかの依存関係 (ロックファイル、python-daemon)を持つ単一の Python3モジュールがあります。ユーザーが他のモジュールをダウンロードしてインストールする必要がないように、これをその依存関係とともにパッケージ化する簡単な方法はありますか? すべて含まれたインストールは、私がやろうとしていることです。
setuptools、distribute、distutils を調べてみたところ、開始時よりもさらに混乱してしまいました。
よく使用される最も簡単な方法は、すべての依存関係を 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
...
cx_Freezeは、探していることを行う必要があります。
py2exe は問題ありませんが、Windows に制限されます。
対象者を制限せず、一般的に受け入れられているベスト プラクティスに従うのが最善の方法は、requirements.txt
andsetup.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
.
これは、すべてのファイルを含む .zip ファイルのような単純なもので簡単に実行できます。すべてのファイルが同じディレクトリにエクスポートされている限り、それらはすべて機能するはずです! モジュールに多くの依存関係がある場合、つまり、見つける必要のある余分なフォルダーがある場合は、失敗します。
また、かなりの数の人々/企業が独自のパッケージング システムを作成しているため、すべてのモジュールが 1 つの .py ファイルに含まれ、コンソールで開き、すべてが正しい場所にエクスポートされると思います。ただし、これにはかなりの作業が必要になるため、事前に作成されたものを見つけてみてください。私はこの方法を試しましたが、ファイルを含む .zip を解凍する必要があるまでは、負担が大きすぎるとは証明されませんでした...
別の解決策として、PyExe(私はそれと呼ばれていると思います)を試して、すべてを単一の.exeファイルにエクスポートすることができます(Windowsのみ)
私は個人的に setuptools、distribute、distutils を使用したことがないので、残念ながらそれらについてコメントすることはできません。
もう 1 つ注意すべき点は、各モジュールのライセンスです。一部のモジュールは再配布が許可されていない可能性があるため、最初に確認してください。