Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OS X 10.6.2上实际构建64位Python_Python_Macos - Fatal编程技术网

如何在OS X 10.6.2上实际构建64位Python

如何在OS X 10.6.2上实际构建64位Python,python,macos,Python,Macos,为什么??我之所以想这样做,是因为SciPy的安装推荐了它,我认为这将是一次很好的学习体验。这个问题以前有人问过(例如)。首选的答案似乎是使用MacPorts,但正如我所说,我想了解它是如何实现的 无论如何,我获取源代码(Python-2.6.4.tgz)并解压缩。我阅读了关于如何构建64位“框架”构建的说明。据我所知,我应该跑步 ./configure --enable-framework --enable-universalsdk=/ --with-univeral-archs=intel

为什么??我之所以想这样做,是因为SciPy的安装推荐了它,我认为这将是一次很好的学习体验。这个问题以前有人问过(例如)。首选的答案似乎是使用MacPorts,但正如我所说,我想了解它是如何实现的

无论如何,我获取源代码(Python-2.6.4.tgz)并解压缩。我阅读了关于如何构建64位“框架”构建的说明。据我所知,我应该跑步

./configure --enable-framework --enable-universalsdk=/ --with-univeral-archs=intel
配置运行一段时间…并完成。当我做的时候,它显然有一个问题:

$ make
gcc -c -arch ppc -arch i386 -isysroot /  -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes  -I. -IInclude -I./Include   -DPy_BUILD_CORE -o Modules/python.o ./Modules/python.c
In file included from //usr/include/architecture/i386/math.h:626,
                 from //usr/include/math.h:28,
                 from Include/pyport.h:235,
                 from Include/Python.h:58,
                 from ./Modules/python.c:3:
//usr/include/AvailabilityMacros.h:108:14: warning: #warning Building for Intel with Mac OS X Deployment Target < 10.4 is invalid.
它以

creating Modules/Setup
creating Modules/Setup.local
creating Makefile
编辑2:我想我是从自述中抄来的


是的!自述文件规范中有一个输入错误!我与年龄有关的诵读困难症又发作了

您的
/configure
选项不正确<代码>--启用通用SDK应设置为正确的SDK,而不是
/
! 这就是为什么
gcc
感到困惑的原因,请参阅选项
-isysroot
。 因此,请检查您在
/Developer/sdk
中有哪些SDK,并设置正确的SDK


此外,仅使用
-arch-ppc-arch i386
调用gcc,其中不包括作为英特尔64位标志的
-arch x86\u 64

为了选择正确的答案,我对上面的评论进行了解释:

正如维吉尔·杜普拉斯(Virgil Dupras)所注意到的,这面旗帜上有一个拼写错误:

--with-universal-archs=intel
它源于文件
Mac/readme
,但我应该在发布之前捕获它。
此外,我建议你阅读奈德·戴利的非常有用的评论。看看那些家伙,给他们投票。

谢谢,Yuji。对于第一条评论,我只是遵循文档:在构建10.5系统时指定
/
,尤其是在构建64位代码时。我也尝试过明确地去做(我想)。第二点:我自己没有调用gcc,我很确定如果我在环境中设置了一个标志,它将被configure忽略。真正的问题是拼写错误--with-universal-archs。谢谢您的后续评论,也很抱歉我的错误回答:pAre您确定您的
/configure
终止时没有错误吗?在配置标志中使用了带有univeral archs=intel的
-之后,我似乎不可能在gcc标志中使用
-arch-ppc-arch i386
。请稍候。。。
中有一个打字错误——univeral archs
。你忘了一个“s”!奇怪的是,配置过程没有告诉你这一点……我以为我是从文档中复制和粘贴的——我想不是。我的错。谢谢。请记住,在10.6版本中,苹果提供的Python是64位/32位通用的,因此不再需要为了获得64位支持而自己构建它。虽然自己构建核心python并不困难,但要正确构建和安装所有标准库部件可能有点困难。有一些针对OS X 10.6支持的2.6.4版后版本修复已签入,并且仍在进行中。感谢您在Mac/README中找到拼写错误。我会把它修好的。
--with-universal-archs=intel