【问题标题】:Cx-Freeze : Showwarning AttributeError: 'NoneType' object has no attribute 'write'Cx-Freeze : Showwarning AttributeError: 'NoneType' 对象没有属性 'write'
【发布时间】:2016-06-16 19:04:17
【问题描述】:

脚本在使用 Anaconda 和 Python 3.4 的源文件上运行良好。当我使用以下设置文件对其进行 cxfreeze (v 4.3.4) 时:

从 cx_Freeze 导入设置,可执行文件

setup(executables=[Executable("main.py", base="Win32GUI")], 版本='0.2')

我在服务器上收到以下错误:

DBOps.py",第 54 行,在 executemany 中

"C:\Users\user\Anaconda3\lib\site-packages\MySQLdb\cursors.py", 行 286,在executemany文件中

“FileC:\Users\user\Anaconda3\lib\site-packages\MySQLdb\cursors.py”,第 127 行,_warning_check 文件“c:\Python\64-bit\3.4\lib\warnings.py” ,

第 15 行,在 showwarning AttributeError: 'NoneType' object has no attribute 'write'

我认为我的系统上安装的不同 python 版本可能会导致这个问题,使用安装程序将它们删除。没有改变。服务器和本地机器上的相同错误。错误部分看起来像“c:\Python\64-bit\3.4\lib\warnings.py”,因为我的系统或服务器上都没有这样的目录路径。

【问题讨论】:

    标签: mysql python-3.x mysql-python anaconda cx-freeze


    【解决方案1】:

    这是 Thomas Kluyver 的相关解决方案:

    更大的问题是任何试图显示 警告将导致错误,因为默认情况下它会尝试写入 sys.stderr 的警告,如果您使用 Win32GUI 基础,则没有 要写入的标准错误。事先调用 warnings.simplefilter('ignore') 应该防止这种情况发生。

    来源:https://bitbucket.org/anthony_tuininga/cx_freeze/issues/81/python-34-venv-importlib-attributeerror

    【讨论】:

      猜你喜欢
      • 2020-05-18
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2021-12-26
      • 2019-07-23
      相关资源
      最近更新 更多