Entry_points 不会在 Python 中使用 pip 或 easy_install 创建自定义脚本?

2024-04-26

我正在使用简单的入口点来制作自定义脚本,其中包含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(使用前将#替换为@)

Entry_points 不会在 Python 中使用 pip 或 easy_install 创建自定义脚本? 的相关文章

随机推荐