cx_Freeze + curses: 'NoneType' 对象没有属性 'fileno'

cx_Freeze + curses: 'NoneType' object has no attribute 'fileno'

我使用 cx_Freeze 实用程序从以下 python 脚本生成了一个 exe 文件:

from curses import wrapper

def main(stdscr):
    pass

wrapper(main)

但是当我运行它时,它给了我一个错误:

AttributeError: 'NoneType' object has no attribute 'fileno'

完整错误:

问题是,当我从脚本中排除 wrapper(main) 时,exe 可以正常工作。

我可以在 Windows 7 上使用 python 3.6 和 cx_Freeze 5.1.1 从您的 curses_example.py python 脚本生成一个工作可执行文件,其中包含以下内容设置脚本:

from cx_Freeze import setup, Executable

executables = [Executable('curses_example.py')]

setup(name='curses_example',
      version='0.1',
      description='Sample cx_Freeze script',
      executables=executables)

要让 curses 正常工作,我首先需要使用

安装 windows-curses
pip install windows-curses

遵循 ImportError: No module named '_curses' when trying to import blessings 的提示。