python - 如何将命令行工具添加到python包

标签 python pip setuptools

我编写了一个名为 fcards 的简单包,目前在 PyPI 上。该软件包提供了一个基于 curses 的界面,用于创建和练习闪存卡,现在,为了运行它,用户必须键入“python -m fcards.fcards”。我想知道如何制作它以便用户只需键入“fcards”即可运行该应用程序。

我已经尝试在我的 setup.py 文件的设置函数中使用“scripts”和“entry_points”参数,但到目前为止,在所有平台上都没有一致的效果。

最佳答案

通常,我会编写一个控制台驱动程序并将其放在一个文件中 console.py作为 main功能。

然后在setup.py :

entry_points={
    'console_scripts': ['<name> = <name>.console:main'],
},

哪里<name>是模块的名称。这在类 UNIX 平台上开箱即用。它还可以在 ms-windows 上使用 Anaconda Python 发行版。

在ms-windows上console_scripts之间的区别和 gui_scripts 重要,因为后者必须与另一个 python 二进制文件相关联。这是通过给他们扩展名来完成的 pyw而不是 py .类 UNIX 平台(我猜包括 macOS)通常不关心。

关于python - 如何将命令行工具添加到python包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57453047/

相关文章:

python - 如何连接 2 个数据框并基于过滤器 pyspark 添加新列

macos - 如何在socks代理中使用pip?

python - 如何使用 Windows 下载适用于 Linux 的 pip 模块

python - 如何在 setup.cfg 中设置入口点

python - 预先测试 xlsxwriter 是否能够在 Windows 下写入目标文件

Python Pandas : output dataframe to csv with integers

python - 如何使用Python可视化空间数据

python - 使用tensorflow时没有名为 'Pil'的模块

python - 为什么不推荐使用 setup.py 中的依赖链接?

python - 使用 python setuptools 库时的导入问题