8

私は多くの「make for Python」プロジェクトをかき集めてきましたが、ケーキ ファイルのようにシンプルなものは見つかりませんでした。私が探しているのは、次のことを可能にする Python の同等物です。

  1. ビルド コマンドをプロジェクト ルートの 1 つのファイルに保持する
  2. 「make」ファイルが引数なしで実行されたときに自動的に表示される説明とともに、各タスクを単純な関数として定義します。
  3. Python モジュールをインポートする

私はこのようなものを描いています:

from pymake import task, main

@task('reset_tables', 'Drop and recreate all MySQL tables')
def reset_tables():
    # ...

@task('build_stylus', 'Build the stylus files to public/css/*')
def build_stylus():
    from myproject import stylus_builder
    # ...

@task('build_cscript', 'Build the coffee-script files to public/js/*')
def build_cscript():
    # ...

@task('build', 'Build everything buildable')
def build():
    build_cscript()
    build_stylus()

# etc...

# Function that parses command line args etc...
main()

探しても探しても、それらしいものはありませんでした。存在しない場合は、自分で作成し、おそらくそれでこの質問に答えます。

ご協力いただきありがとうございます!

4

4 に答える 4

4

ファブリックの使用を検討しましたか?

それを使用して例を実装するには、これを次の名前のファイルに追加するだけですfabfile.py

def reset_tables():
    ''' Drop and recreate all MySQL tables '''
    # ...

def build_stylus():
    ''' Build the stylus files to public/css/ '''
    from myproject import stylus_builder
    # ...

def build_cscript():
    ''' Build the coffee-script files to public/js/* '''
    # ...

def build():
    ''' Build everything buildable '''
    build_cscript()
    build_stylus()

次に、実行fab buildしてビルドするだけです。また、実行fab -lして、使用可能なコマンドとその説明を確認できます。

また、fabric には、役に立つ (または役に立たない) 他の機能がいくつか用意されていることにも言及する価値があると思います。とりわけ、ファイルをリモート サーバーに展開するのに役立つ機能や、ssh を介してリモート コマンドを実行できる機能があります。Web ベースのプロジェクトを開発しているように見えるので、デプロイ スクリプトなどを作成するのに役立つかもしれません。

于 2012-07-18T11:32:26.297 に答える
2

面白いことに、例とほぼ同じ構文を使用する Cake という Python ビルド ツールがあります。こちら を参照してください

于 2013-01-03T00:45:06.480 に答える
0

言語固有のものを見つけるのではなく、標準の Makefile を作成するだけです。私のプロジェクトのいくつかではmake dbmake test、 などは Python で記述されたスクリプトにマップされますが、コマンド ラインからスクリプトを実行できる任意の言語でも同じように簡単にマップできます。

于 2012-07-18T21:24:59.800 に答える