【发布时间】:2016-07-04 16:14:35
【问题描述】:
我正在尝试在 OS X El Capitan (10.11.5) 上构建 Python (3.5.2)。但是,当我尝试make 时遇到错误。该错误似乎与_freeze_importlib有关。
/usr/local/src/Python-3.5.2 $ make
if test "no" != "yes"; then \
./Programs/_freeze_importlib \
./Lib/importlib/_bootstrap.py Python/importlib.h; \
fi
dyld: lazy symbol binding failed: Symbol not found: _getentropy
Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _getentropy
Referenced from: /usr/local/src/Python-3.5.2/./Programs/_freeze_importlib
Expected in: /usr/lib/libSystem.B.dylib
/bin/sh: line 1: 56666 Trace/BPT trap: 5 ./Programs/_freeze_importlib ./Lib/importlib/_bootstrap.py Python/importlib.h
make: *** [Python/importlib.h] Error 133
/usr/local/src/Python-3.5.2 $
你可以看到我的步骤on GitHub。
直到make 失败的完整终端输出在Gist 中。
我完全承认这是一项学术练习,因为 El Capitan 附带 Python 2.7.10,您可以使用官方 OS X 安装程序包或通过 Homebrew 轻松安装 Python 3.5.2。
Using Python on Unix platforms 的文档提供了构建说明。 Using Python on a Macintosh 的文档特别提到要使用 OS X 安装程序包。
不过,应该可以在 Mac 上构建。
运行 Mac OS X 的 Macintosh 上的 Python 原则上与任何其他 Unix 平台上的 Python 非常相似,但还有一些额外的功能,例如 IDE 和包管理器,值得指出。
目前,我并不担心这些附加功能。只是好奇为什么我会收到 make 错误。
【问题讨论】:
-
考虑到你想自己构建它有点不相关,但
brew install python3对你有帮助吗? -
是的,我选择了 Homebrew,但我仍然对构建它感到好奇。
-
将
--enable-universalsdk添加到configure是否可以解决问题? -
尝试使用
--enable-universalsdk,但弹出相同的错误。 -
我想知道
./configure选择使用我几天前刚刚安装的 Xcode-beta 进行配置是否重要。
标签: python macos python-3.x osx-elcapitan