在mac osx lion中构建和安装python3.2的问题

时间:2011-12-21 15:27:38

标签: python installation python-3.2

我使用Mac OSX Lion,我可以使用python.org网站上提供的DMG安装程序设置轻松安装python3.2。 但是我想写一些python-C函数并为它创建一个二进制文件 所以为此我试图在python.org网站上安装python3.2 zip。

当我使用以下安装程序

时,会遇到安装错误
  

./ configure --enable-framework
  使
  sudo make install

错误:

  

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

适合我。您在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位Pythons,请尝试:

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