Windows cx_freeze 上的“AttributeError:‘NoneType’对象没有属性写入”

Posted

技术标签:

【中文标题】Windows cx_freeze 上的“AttributeError:‘NoneType’对象没有属性写入”【英文标题】:“AttributeError: ‘NoneType’ object has no attribute write” on windows cx_freeze 【发布时间】:2019-11-10 06:55:27 【问题描述】:

我能够在 mac OS 上创建一个独立的 python dash 应用程序,它可以与 cx_Freeze 完美运行,但是当我在寡妇上重复该过程时,它在运行时给我一个错误:“AttributeError: 'NoneType' object has no attribute write” ,有没有办法解决这个问题或冻结应用程序的其他方式?我已经尝试了 py2exe 和 PyInstaller 没有运气,任何帮助将不胜感激,在此先感谢。

以下是在 mac 上运行的程序的图像以及输出:

同样的程序在 Windows 上出现错误。

我在 CMD 和终端中使用了命令 python setup.py build 下面附上用python编写的安装文件,程序太大,无法在此处发布,但如果需要它的任何部分,我可以提供

from cx_Freeze import setup, Executable
import sys

buildOptions = dict(
    packages=["dash_core_components", "dash_html_components", "dash.dependencies", "dash", "dash_table", "flask",
              "numpy", "pandas", "plotly.figure_factory", "plotly.express", "jinja2", "sys", "_datetime", "io",
              "plotly.graph_objects", "xlrd", "plotly"],
    excludes=[],
    include_files=["Test.xlsx/"]
)

base = 'Win32GUI' if sys.platform == 'win32' else None

executables = Executable(script='FISE MGMT App.py',
                         base=base,
                         icon='icon.ico'
                         )

setup(name='hadi',
      version='1.0',
      description='my app',
      options=dict(build_exe=buildOptions),
      executables=[executables])

编辑:所以我发现问题是因为在使用 Windows 时我的基础设置为 Win32GUI 而不是无,虽然这可行,但我想要一种 CMD 在启动时不打开的方法有没有办法做没有得到那个“写”属性错误?

【问题讨论】:

欢迎来到 SO。你能更详细地描述你的问题吗?例如。通过添加描述您的问题的代码、命令或屏幕截图。另请查看帮助中心,尤其是asking 和minimal examples。谢谢。 【参考方案1】:

几天前我遇到了同样的问题,终于解决了。我在这里发布了答案: https://***.com/a/63964910/14300057

【讨论】:

以上是关于Windows cx_freeze 上的“AttributeError:‘NoneType’对象没有属性写入”的主要内容,如果未能解决你的问题,请参考以下文章

如何在使用 cx_Freeze 6.0b1 冻结的 Linux 上修复 python 3.7.3 脚本上的 numpy 依赖项路径?

cx_Freeze 错误:基线图像目录不存在

Python 3.5.3 上的 cx_Freeze 错误

Windows XP 中的 Python Cx_Freeze 错误

cx_Freeze:“没有名为‘编解码器’的模块”Windows 10

Python、cx_freeze 和 Windows 控制台