I am making a CLI in python using Click. This is my entry point script:
entry_points='''
[console_scripts]
noo=noo.noodle:downloader
''',
I have made a Package, I have added import noodle in the __init__.py file so that it could import the file noodle which contains the function downloader() - which needs to be executed by the entry_point script. But when I install the setup.py, I get an Error: ImportError: No module named noo.noodle when I run noodle --help in terminal?
Directly from the documentation on click.pocoo.org:
import click
@click.command()
def cli():
"""Example script."""
click.echo('Hello World!')
from setuptools import setup
setup(
name='yourscript',
version='0.1',
py_modules=['yourscript'],
install_requires=[
'Click',
],
entry_points='''
[console_scripts]
yourscript=yourscript:cli
''',
)
While if you have multiple commands in your CLI application, I usually create a click group like this:
import click
@click.group()
@click.option('--debug/--no-debug', default=False, help='My test option.')
def cli(debug):
"""Add some initialisation code to log accordingly for debugging purposes or no"""
pass
@cli.command()
def configure():
"""Configure the application"""
pass
And the setup.py file looks exactly the same as the one in the click documentation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With