2017-02-12 9 views
2

私は現在Pythonプログラムを書いており、enユーザ(および開発者)に配布したいと考えています。プログラムを最小限にするために必要な手順の数を減らしたいと思います。Python - ソースディストリビューションをパッケージ化する

私の使用例は比較的簡単です。私はプロセス/ツール/何でもしたい:

))アプリケーションが動作するために必要なパッケージの一覧をダウンロードします。

B)Pythonスクリプトのリストを順番に実行します(たとえば、データベースを作成してから移行を実行します)。

私はdistlibがすでにこれを行っていることを理解しています。しかし、ドキュメントの種類が混乱していることがわかります。スクリプトをインストールするAPIがあるようですが、スクリプトを自動的に実行するAPIはありません。

理想的には、スクリプトのリストと依存関係のリストを指定し、プログラムに自動的にインストールさせるようにします。

+1

お読みください:http://stackoverflow.com/questions/17806485/execute-a-python-script-post-install-using-distutils-setuptools、https://github.com/lupien/pyHegel /blob/master/setup.py – fedepad

答えて

1

これに対処する最良の方法は、makeをMakefile(https://www.gnu.org/software/make/)とすることです。

Distlibは、setup.pyファイルを使って、いくつかのPythonスクリプトに名前を付けることで、読みやすくするのに役立ちます。また、タスクを順番に実行するには、makeターゲット/依存システムを使用することもできます。

もしあなたがPythonに固執したいのであれば、あなたはLuigi(https://luigi.readthedocs.io/en/stable/)を使うこともできますが、ここでは過剰なようです。

0

わかりましたので、私はインターフェイスをどのように見せたいかに基づいて自分のことを書きました。完全なスクリプトがここで見つけることができ

from installtools import setup 

scripts = ['create_database.py', 'run_migrations.py'] 

setup("Shelob", "requirements.txt", scripts) 

:PIPは、パブリックAPIを持っていないのでhttps://gist.github.com/fdemian/808c2b95b4521cd87268235e133c563f

は(and isn't likely to have one in the near future)スクリプトが呼び出すためにサブプロセスのAPIを使用するアプリケーションをインストールするコードは次のようになります:

ピップその後[requirements_file_path]

を-rインストールし、それが指定されたPythonスクリプト、一つ一つを呼び出します。それはおそらく非常に堅牢ではありませんが、ストップギャップの解決策として、このトリックを行うようです。

関連する問題