我希望能够安装一些python代码,使用python-click和命令,与setup.py。我有以下完整的代码:
import click
@click.group()
@click.option(
"-v",
"--verbose",
count=True,
default=0,
help="-v for DEBUG",
)
def cli(verbose):
print(verbose)
@cli.command("list")
@click.option(
"--option1"
)
def my_list_command(option1):
print(option1)
@cli.command("find")
@click.option(
"--option2"
)
def my_find_command(option2):
print(option2)
if __name__ == '__main__':
cli()它定义了两个命令list和find。例如,当我将该文件保存为mycode.py时,我可以这样做
python mycode.py list --option1 opt1
python mycode.py find --option2 opt2代码按预期工作,也就是说,我有两个带有选项的命令。
但是,当我现在尝试用setup.py安装这段代码时,如下所示
from setuptools import setup, find_packages
setup(
name='MyCode',
install_requires=[
'click',
],
entry_points={
'console_scripts': [
'mytest=mycode.cli'
],
},
)我得到了错误
ERROR: For req: MyCode==0.0.1. Invalid script entry point: <ExportEntry mytest = mycode.cli:None []> - A callable suffix is required. Cf https://packaging.python.org/specifications/entry-points/#use-for-scripts for more information.如何正确设置多命令python-click代码,以便我可以像上面的示例一样使用它?
发布于 2021-03-27 05:04:19
就快到了,只需将mycode.cli更改为mycode:cli即可。
在指定入口点时,模块路径用.分隔,而入口点要调用的函数位于后面,并以:为前缀,例如package.module:function。
有关详细信息,请参阅the docs。
发布于 2021-04-01 14:44:50
https://stackoverflow.com/questions/66744965
复制相似问题