3

単純なエントリ ポイントを使用してカスタム スクリプトを作成していますsetup.py

  entry_points = {
           'my_scripts': ['combine_stuff = mypackage.mymod.test:foo']
  }

含まれる場所mypackage/mymod/test.py:

import argh
from argh import arg
@arg("myarg", help="Test arg.")
def foo(myarg):
    print "Got: ", myarg

これを使用してパッケージをインストールすると(と同じディレクトリにsetup.py

pip install --user -e .

エントリ ポイントはまったく処理されないようです。何故ですか?

でインストールするとdistribute easy_install、次のようになります。

easy_install --user -U .

次に、エントリ ポイントが処理され、以下が作成されます。

$ cat mypackage.egg-info/entry_points.txt 
[my_scripts]
combine_stuff = mypackage.mymod.test:foo

しかし、呼び出された実際のスクリプトは、ディレクトリcombine_stuffのどこにも配置されませんbin(のように~/.local/bin/)。それは作られていないようです。ここで何がうまくいかないのですか?どうすれば実行可能なスクリプトを作成し、理想的には動作させることがpipできますか?

4

1 に答える 1

5

答えは のconsole_scripts代わりに使用することでしmy_scriptsた。スクリプト名がプログラマーの内部ラベル以外のものであるかどうかは不明でした。

于 2013-08-04T16:02:09.063 に答える