Я использую простые точки входа для создания пользовательского сценария с этим в 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
?