2017-02-06 4 views
1

私はDistutilsを使ってパッケージを配布しています。とても便利です。今、ユーザがpip install mypackageのようなコマンドでパッケージをインストールした後に、スクリプトや関数を実行したいのですが。私はregister(funtionCalledAfterPackageInstalled)のようなAPIを見つけることができたと思った。ちょうどatexit.register(someFunction)のように、アプリが終了する前に関数を実行するためにPythonでよく使われたが、失敗した。だから私は尋ねたい:そのようなことをする優雅な方法があるのだろうか?python setuptoosでスクリプトや関数を実行するには?

背景:私は私のパッケージに頻繁に更新されたDLLを参照して、私は私が更新を気にする必要はありませんので、私のpakcageに入れたくありません。私はちょうど私のパッケージをインストールした後、関数呼び出しによって自動的にダウンロードされるようにしたい。環境はWINDOWSなので、Linuxのpakcage管理ツールは動作しません。

+1

を()' 'あなたのあなたが他のPythonの機能を実行することが可能setup.py' /メソッドインチここでPythonプログラムやシステムコールを実行することができます(サブプロセスは例です)。 – Arount

+0

@Arountうわー、すばらしい、それが私の必要なものです。ありがとうございました。 – lengxuehx

+0

私は適切なアンサーを作成します、多分それは他のものを助けるでしょう。 – Arount

答えて

1

setup.pyファイルでsetup()を呼び出した後、別のPythonの関数またはメソッドを呼び出すことができます。したがって、必要なものを作成するPython関数を実行したり、外部コマンドをsubprocessで実行することができます。

それはのようなものとなります: `セットアップを呼び出した後

from distutil.core import setup 
import subprocess 

setup(... stuff ...) 

# Call external command  
subprocess.Popen('command here', ... attrs ...) 
# Or another Python function you wrote 
my_function() 
関連する問題