python - ZipImportError 而工具链为 kivy-ios 编程构建 python3
问题描述
尝试为 iOS 应用程序重新安装 kivy-ios 环境,但“python3 toolchain.py build python3”给了我以下 ZipImportError 错误。我了解到,/usr/include 文件夹由于 Apple 从 Big Sur 的新策略而消失了,所以在网上尝试了很多东西,比如,
- CommandlineTools 重新安装
sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install - zlib 安装和环境变量设置 zlib
brew install zlib
export LDFLAGS="-L/usr/local/opt/zlib/lib"
export CPPFLAGS="-I/usr/local/opt/zlib/include" - X-code CommandlineTools 选择
XCode->Preference->Locations->CommandlineTools - SDK环境变量设置
export SDKROOT="$(xcrun --sdk macosx --show-sdk-path)" - 构建/链接环境变量设置
export LDFLAGS="-L$(xcrun --show-sdk-path)/usr/lib"
export CFLAGS="-I$(xcrun --show-sdk-path)/usr/include"
,但它们都不起作用,仍然给我 zipimport.ZipImportError。任何意见,将不胜感激!
- 错误信息
[DEBUG ] Traceback (most recent call last):
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/runpy.py", line 193, in _run_module_as_main
[DEBUG ] "__main__", mod_spec)
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/runpy.py", line 85, in _run_code
[DEBUG ] exec(code, run_globals)
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/ensurepip/__main__.py", line 5, in <module>
[DEBUG ] sys.exit(ensurepip._main())
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/ensurepip/__init__.py", line 204, in _main
[DEBUG ] default_pip=args.default_pip,
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/ensurepip/__init__.py", line 117, in _bootstrap
[DEBUG ] return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
[DEBUG ] File "/Users/taka/kivy-ios/build/hostpython3/x86_64/Python-3.7.1/Lib/ensurepip/__init__.py", line 27, in _run_pip
[DEBUG ] import pip._internal
[DEBUG ] zipimport.ZipImportError: can't decompress data; zlib not available
[DEBUG ] make: *** [install] Error 1
Exception in thread background thread for pid 17598:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "/Users/taka/venv/py37/lib/python3.7/site-packages/sh.py", line 1540, in wrap
fn(*args, **kwargs)
File "/Users/taka/venv/py37/lib/python3.7/site-packages/sh.py", line 2459, in background_thread
handle_exit_code(exit_code)
File "/Users/taka/venv/py37/lib/python3.7/site-packages/sh.py", line 2157, in fn
return self.command.handle_command_exit_code(exit_code)
File "/Users/taka/venv/py37/lib/python3.7/site-packages/sh.py", line 815, in handle_command_exit_code
raise exc
sh.ErrorReturnCode_2:
- 环境 MacOS:Big Sur 11.6
Python:3.7.1
kivy-ios:1.2.1
kivy:1.11.1
依赖:autoconf automake libtool pkg-config glib openssl@1.1 autogen zlib freetype ...
解决方案
推荐阅读
- python-3.x - 通过 Anaconda 安装 numpy
- python - 在 pip 中为特定包指定 repo
- amazon-web-services - ssm-agent 试图写入错误的区域
- express - 简单的测试路线没有响应简单的 Postman 请求
- sql - Char(1) vs Number(2) 在 oracle 中性能更好
- c# - 查找 IConfiguration 中是否存在具有空值的 Key
- node.js - Mongoose - Nodejs 使用 pull 删除数组内的字符串
- security - 使用 Istio 和 Kubernetes 支持审计事件日志记录的最佳非侵入式方法是什么
- conda - CONDA:[Errno 48] 地址已在使用中
- javascript - 在 NodeJS 中获得未处理的 Promise Rejection 警告