我正在使用简单的入口点来制作自定义脚本,其中包含setup.py
:
entry_points = {
'my_scripts': ['combine_stuff = mypackage.mymod.test:foo']
}
where 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
, like:
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
too?
答案是使用console_scripts
代替my_scripts
。目前还不清楚脚本名称是否是程序员的内部标签之外的任何名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)