Ale*_*lex 0 python click setup.py python-3.x
我希望能够安装一些 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()
Run Code Online (Sandbox Code Playgroud)
它定义了两个命令list
和find
。例如,当我按照mycode.py
我的方式保存该文件时
python mycode.py list --option1 opt1
python mycode.py find --option2 opt2
Run Code Online (Sandbox Code Playgroud)
并且代码按预期工作,即我有两个带有选项的命令。
但是,当我现在尝试安装此代码setup.py
如下
from setuptools import setup, find_packages
setup(
name='MyCode',
install_requires=[
'click',
],
entry_points={
'console_scripts': [
'mytest=mycode.cli'
],
},
)
Run Code Online (Sandbox Code Playgroud)
我收到错误
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.
Run Code Online (Sandbox Code Playgroud)
如何正确设置多命令 python-click 代码,以便我可以像上面的例子一样使用它?