如何使用setuptools安装python cli脚本而不重复?

tho*_*wil 5 python setuptools

由于argparse,我有两个可以在shell中使用的Python脚本.

setup.py的相关部分:

setup(
    # (...)
    zip_safe=True,
    scripts=['bin/bgce.py', 'bin/sizes.py'],
    packages=find_packages(),
    data_files=data_files,
    entry_points = {
        'console_scripts': [
            'bgce = bgce:main',
            'sizes = sizes:main',]
    }
)
Run Code Online (Sandbox Code Playgroud)

我最终在/ usr/local/bin中使用了bgce,bgce.py,sizes,sizes.py.全部4个工作.

如果我遗漏了包或脚本行,则没有重复项,但文件会像这样失败:

Traceback (most recent call last):
File "/usr/local/bin/bgce", line 9, in <module>
    load_entry_point('Backtestground==1.0', 'console_scripts', 'bgce')()
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 305, in load_entry_point return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 2244, in load_entry_point return ep.load()
File "/usr/lib/python2.6/dist-packages/pkg_resources.py", line 1954, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named bgce
Run Code Online (Sandbox Code Playgroud)

我该怎么办才能安装bgce和大小,没有重复的烦人(for tab-completion).py附加?

Tob*_*obu 0

IIRC:将bgce.py 和sizes.py 作为包的一部分,删除脚本参数,保留入口点。