zipimport.ZipImportError:无法解压缩数据; zlib不可用

kar*_*TUM 6 python py2exe cx-freeze python-3.x

我想使用cx_freeze将我的hello_world.py更改为exe文件.

当我像这样运行cxfreeze时:

cxfreeze hello_world.py
Run Code Online (Sandbox Code Playgroud)

我运行exe文件,它出现错误:

./hello_world 
Fatal Python error: Py_Initialize: Unable to get the locale encoding
Traceback (most recent call last):
  File "/home/karl/anaconda3/lib/python3.6/encodings/__init__.py", line 31, in <module>
zipimport.ZipImportError: can't decompress data; zlib not available
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

yl_*_*low 11

运行以下将安装zlib的代码:

sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
Run Code Online (Sandbox Code Playgroud)

感谢/sf/answers/3692948661/上的答案


YPC*_*ble 2

在 MacOS 上,问题通常是 XCode 更新删除了 zlib。这些情况下的解决方案将运行:

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

在 Linux 机器上,您需要安装 zlib,例如参见此答案

  • 这似乎不再在 OSX Mojave 上提供 zlib (4认同)
  • 这会返回一个错误(我使用的是 macOS Mojave,版本 10.14): xcode-select:错误:命令行工具已安装,请使用“软件更新”安装更新 (3认同)