如何使python软件包可从终端使用

蛇怪

我创建了一个开源python包,以使用不同的翻译器翻译文本或自动执行翻译,并将其发布在pypi上。到目前为止,它运行良好,我收到了一些很好的反馈和批评。

现在我不在这里促进项目。相反,我想问一问,如何或什么方法使终端上的软件包可用。就像在我的示例中一样,项目名称为deep_translator我的目标是能够从终端使用它。正是这样的:

$ deep_translator translate --translator "google" --from "german" --to "english" --text="blabla"

我了解,如果有人在我的计算机上安装了我的软件包,则该软件包很可能会添加到路径中。因此,可以从终端访问它,但这必须取决于OS,对吗?

那么正确的方法是什么。我正在使用python> = 3.6,但这实际上是一个普遍的问题,而不是特定于python的问题。提前致谢

客人

您可以文件中注册命令行脚本setup.py安装软件包时,这会将二进制文件放在路径上,该路径将调用配置的功能。例如:

# setup.py

setup(
    ...
    entry_points = {
        'console_scripts': ['deep_translator=deep_translator.main_module:main_func'],
    }
    ...
)

main_module是一个假设的模块main_func,其中包含将要调用的功能在此函数中,您可以设置ArgumentParser和解析参数:

# main_module.py

def main_func():
    parser = argparse.ArgumentParser()
    parser.add_argument(...)
    # more arguments here
    args = parser.parse_args()
    # do stuff with args

选择: __main__.py

您还可以使用顶级__main__.py模块,然后通过-m开关调用软件包

python -m deep_translator <args-go-here>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从终端安装软件包

来自分类Dev

从终端安装软件包

来自分类Dev

如何在Python软件包中使用日志记录?

来自分类Dev

如何使用Sphinx记录Python软件包

来自分类Dev

如何使用python-apt获取软件包描述?

来自分类Dev

如何使用python软件包分发字体?

来自分类Dev

如何使用python-apt下载软件包?

来自分类Dev

如何使用python-apt下载软件包?

来自分类Dev

如何使用python-apt获取软件包描述?

来自分类Dev

如何使用python con windows安装Lasagne软件包

来自分类Dev

如何从终端列出最近更新的软件包?

来自分类Dev

如何直接从终端检查软件包/插件的更新?

来自分类Dev

如何从终端列出最近更新的软件包?

来自分类Dev

如何通过终端安装dselect软件包?

来自分类Dev

Python(3.3)软件包如何工作?

来自分类Dev

如何更改python软件包目录

来自分类Dev

Python(3.3)软件包如何工作?

来自分类Dev

如何安装此python软件包?

来自分类Dev

如何更改python软件包目录

来自分类Dev

如何正确安装Python软件包?

来自分类Dev

如何使用本地版本的软件包?

来自分类Dev

如何使用SCons卸载软件包?

来自分类Dev

如何使用dnu卸载软件包?

来自分类Dev

如何使用Puppet卸载软件包

来自分类Dev

如何使用预置删除软件包?

来自分类Dev

如何使用系统安装的软件包?

来自分类Dev

如何使用julia软件包“ Mathematica”?

来自分类Dev

如何使用预置删除软件包?

来自分类Dev

如何使用导入的软件包(JsonRpc)