【问题标题】:Issue in build and install python3.2 in mac osx lion在 mac osx lion 中构建和安装 python3.2 中的问题
【发布时间】:2012-01-25 09:46:11
【问题描述】:

我使用 Mac OSX Lion,我可以使用 python.org 站点中提供的 DMG 安装程序轻松安装 python3.2。 但我想编写一些 python-C 函数并为它创建一个二进制文件。
因此,为此我尝试安装 python.org 站点中提供的 python3.2 zip。

当我使用以下安装程序时,却遇到了安装错误

./configure --enable-framework
制作
须藤制作安装

错误:

gcc -DPYTHONFRAMEWORK='"Python"' -o pythonw ./Tools/pythonw.c -I.. -I./../Include ../Python.framework/Versions/3.2/Python
/usr/bin/install -c -s pythonw "/Library/Frameworks/Python.framework/Versions/3.2/bin/pythonw3.2"
/usr/bin/install -c -s pythonw "/Library/Frameworks/Python.framework/Versions/3.2/bin/python3.2"
ln -sf python3.2 "/Library/Frameworks/Python.framework/Versions/3.2/bin/python3"
ln -sf pythonw3.2 "/Library/Frameworks/Python.framework/Versions/3.2/bin/pythonw3"
cd PythonLauncher && make install DESTDIR=
gcc -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -o FileSettings.o -c ./FileSettings.m
在 /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:120 中包含的文件中,
来自 ./FileSettings.h:9,
来自 ./FileSettings.m:9:
/System/Library/Frameworks/Foundation.framework/Headers/NSTask.h:75:错误:“^”标记之前的语法错误
make[2]: *** [FileSettings.o] 错误 1
make[1]: *** [install_PythonLauncher] 错误 2
make: *** [frameworkinstallapps] 错误 2

任何帮助将不胜感激。

【问题讨论】:

  • 为什么要构建自己的 Python 只是为了构建自己的 Python C 扩展模块?
  • 发现问题并在我的 mac lion os 中安装了 python 3.2。问题是 GCC 编译器。但我想为 32 位架构安装它。但是,它是为 64 位架构安装的。知道如何实现它。

标签: python installation python-3.2


【解决方案1】:

为我工作。您在 Apple 提供的 OS X 头文件中看到语法错误似乎非常可疑。您安装了哪个版本的 Xcode 以及您使用的是哪个 C 编译器 (gcc --version)?此外,如果您的目的是构建 C 扩展模块,通常没有理由从源代码构建 Python。 Python 标准库中的 Distutils 包为您处理所有构建问题,所有需要的头文件都包含在 Mac OS X 的 python.org 二进制安装程序中。

更新:在您的新评论中,您表示您希望将 Python 作为 32 位运行。用于 OS X 的 python.org 64 位/32 位安装程序是多架构的(或universal);每个可执行文件都包含适用于 arch x86_64(64 位)和 arch i386(32 位)的可执行文件。 Mac OS X 10.6 和 10.7 将更喜欢在可能的情况下运行 64 位可执行文件。要在 32 位模式下启动 64 位/32 位 Python,请尝试:

arch -i386 python3.2

例如:

python3.2 -c "import sys;print(sys.maxsize)"
9223372036854775807
arch -x86_64 python3.2 -c "import sys;print(sys.maxsize)"
9223372036854775807
arch -i386 python3.2 -c "import sys;print(sys.maxsize)"
2147483647

【讨论】:

  • 我发现了问题并更新了上面的评论。您还构建了python吗?你使用了哪个 XCode?对我来说,我单独使用 Xcode 4.1,GCC 存在问题,而我使用“make”命令。但后来我使用 3.1 Xcode 的 10.5SDK 创建了一个 10.4uSDK 链接,安装在其他地方。我可以通过其他方式实现它吗?如果可能,请建议我...
猜你喜欢
  • 1970-01-01
  • 2013-09-21
  • 1970-01-01
  • 2012-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-29
相关资源
最近更新 更多