2013-03-15 14 views
11

質問python setup.pyのインストールの一環としてスクリプトファイルを実行するには?

私は、スクリプトを登録するsetuptoolssetup.pyを使用する方法を知っています。 python setup.py installの一部として別のスクリプトファイル(makeファイル)を実行するにはどうすればよいですか。

背景

私はのようなものを使用することを想像:

os.system('make maketarget') #from somewhere in the package 

をしかし、私はちょうどsetup()内のこの行を追加することはできません/私はにスクリプトを必要とするので、辞書をsetuptools.setup受け取ります基本パッケージをインストールした後に実行します。setup.py install

私はsetup.pyにコマンドを追加することができます知っているが、私は、このスクリプトは、インストール手順の内側に呼ばれるようにしたいです。

私もちょうど置くためにデフォルトすることができます

if sys.argv[-1] == 'install': 
    os.system('do something in the shell') 

、ちょうどセットアップした後、このブロックを配置()、何とかこれは非常にpytonic見えない(ともなりやすいエラー、私が見つける必要がありますこのパッケージには)まさになど

答えて

6

をインストールした場所は、既存のsetuptoolsのからコマンドをインストールして、目的の機能でそれを拡張するサブクラス化することができます。その後、セットアップ機能でインストールコマンドとして登録することができます。

from setuptools.command.install import install 

class MyInstall(install): 

    def run(self): 
     install.run(self) 
     print("\n\n\n\nI did it!!!!\n\n\n\n") 

# in the setup function: 
cmdclass={'install': MyInstall} 

printステートメントの代わりに、スクリプトを呼び出します。

pythonソフトウェア(卵など)をパッケージ化する方法はたくさんあることにご注意ください。スクリプトは、インストール手順の中でのみ呼び出すと、これらの方法では呼び出されません。

関連する問題