加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:20:07 所属栏目:Python 来源:网络整理
导读:由于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:

由于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',]
    }
)

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

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

Traceback (most recent call last):
File "/usr/local/bin/bgce",line 9,in 

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

最佳答案
确保实际模块具有如下主要功能:

def main():
    try:
        some_stuff()
    except KeyboardInterrupt :
        print ""
        sys.exit()

if __name__ == "__main__" :
    main()

我们经常在if __name__ ==“__ main__”下面写出主代码的模式:
如果没有实际的main(),则distutils无法获得加载点. (捕捉^ C是可选的:)我也遇到了这个问题,直到我意外地发现我的一个模块实际工作而其他模块没有.这是差异,一旦纠正,这一切都很好!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读