【发布时间】:2017-12-18 19:03:51
【问题描述】:
我有一个命令行程序,它使用 Python 的 click 包。我可以在本地安装和运行它,没有问题:
pip install --editable . # (or leave out the editable of course)
现在,我想创建一个可以分发和独立运行的可执行文件。通常,由于我在 Windows 环境中,我会使用py2exe、pyinstaller 或cx_Freeze 之一。但是,这些软件包都不起作用。
更具体地说,它们都生成一个可执行文件,但该可执行文件什么也不做。我怀疑这个问题是因为我的main.py 脚本没有main 函数。任何建议都会非常有帮助,在此先感谢!
可以用从here复制的代码重现问题。
hello.py
import click
@click.command()
def cli():
click.echo("I AM WORKING")
setup.py
from distutils.core import setup
import py2exe
setup(
name="hello",
version="0.1",
py_modules=['hello'],
install_requires=[
'Click'
],
entry_points="""
[console_scripts]
hello=hello:cli
""",
console=['hello.py']
)
如果有人可以提供一个工作 setup.py 文件来创建可执行文件和任何其他所需文件,那将不胜感激。
从控制台:
python setup.py py2exe
# A bunch of info, no errors
cd dist
hello.exe
# no output, should output "I AM WORKING"
【问题讨论】:
-
您是否尝试添加
main函数?
标签: python pyinstaller py2exe cx-freeze python-click