我只是想在我的开发机器上构建它 - 来自Python.org的二进制安装仍然是32位,安装扩展(例如MySQLdb)让我疯狂,试图找出每个和每个扩展。
澄清:我没有替换系统Python,我只是将Python.org二进制文件安装到/ Library / ...的正常位置,而不是/ System / Library /....
默认情况下,其他所有内容似乎都构建了64位,默认的Python 2.6.1是64位(在我用Python.org构建代替它之前,它是直接替换它)``
我只想要一个64位的版本,它可以在我的一台机器上运行而不会有任何瑕疵。
有没有人有简单的答案?
非常感谢,ssteinerX @ gmail.com
答案 0 :(得分:11)
如果您正在使用MacPorts,那就像指定变体一样简单,告诉它不要编译Universal,如下所示:
sudo port install python26 -universal
您可以使用variants
命令查看可用的变体:
% port variants python26
python26 has the variants:
darwin: Platform variant, selected automatically
no_tkinter: Disable Tkinter support, which will break IDLE
ucs4: Enable support for UCS4
universal: Build for multiple architectures
正如您所看到的,默认情况下在10.6上构建了darwin
变体,它只构建x86_64:
% cd /opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin/
% file python2.6
python2.6: Mach-O 64-bit executable x86_64
比较默认的python二进制文件,即Universal:
% file /usr/bin/python
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386): Mach-O executable i386
/usr/bin/python (for architecture ppc7400): Mach-O executable ppc
如果您不使用MacPorts,我建议您考虑一下。它节省了大量的时间和心痛,不得不手动配置和编译所有内容,并且有一个很棒的GUI界面,叫做Porticus。当然,所有免费和开源!
P.S。 从不替换或重命名原始系统二进制文件!正如Ned Daily的评论中所建议的那样:
“管理对目标的访问 python实例通过更改搜索 在PATH环境变量中排序 或者,如有必要,使用绝对路径 像/opt/local/bin/python2.6“。
答案 1 :(得分:5)
最简单的解决方案是从MacPorts拉所有:
$ sudo port selfupdate
$ sudo port install python26 +no_tkinter -universal py26-mysqldb -universal
这将安装python2.6,MySQLdb适配器和必要的MySQL客户端库。我建议添加no_tkinter
变体,除非你真的需要tkinter; 10.6的MacPorts版Tk存在一些问题。
编辑:注意,MacPorts Python将安装为/opt/local/bin/python2.6
。您可能需要调整shell $ PATH以确保在/ usr / local / bin和/ usr / bin之前使用/ opt / local / bin。如果你想/ opt / local / bin / python引用MacPorts python2.6,请执行以上操作:
$ sudo port install python_select
$ sudo python_select python26
答案 2 :(得分:5)
总是macports ...... sheesh
这就是我所做的:
~: wget http://python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2
~: tar xjf Python-2.6.5.tar.bz2
~: cd Python-2.6.5
~: ./configure ./configure MACOSX_DEPLOYMENT_TARGET=10.6 --enable-framework --with-universal-archs="64-bit" CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64"
~: make -j6
~: sudo make install
可能在FLAGS上有点多余,但它确实有效。
答案 3 :(得分:3)
使用上面列出的方法获得64位Python设置之后,我还发现这个blog post by Aaron Meurer有助于验证Python实际上是否安装为64位。该文章还谈到了运行64位Python和32位安装,我认为这对某些用途很有用。