我编写了一个名为 fcards 的简单包,目前位于 PyPI 上。该软件包提供了一个基于curses的界面,用于创建和练习闪存卡,现在,为了运行它,用户必须输入“python -m fcards.fcards”。我想知道如何制作它,以便用户只需键入“fcards”即可运行该应用程序。
我尝试在 setup.py 文件的 setup 函数中使用“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)通常不关心。