我可以在OS X上与现有的32位安装并行安装64位的Python 2.7.1吗?

5 投票
3 回答
1735 浏览
提问于 2025-04-16 17:49

简短描述
我想知道是否可以在已经安装的32位Python 2.7.1基础上,从python.org安装64位或32位的Python 2.7.1?

背景
我之前安装了32位版本,是为了支持wxPython(2.8),到现在为止没有遇到任何问题。不过,现在我在安装一些模块(比如psycopg2和mysql-python)时遇到了困难。homebrew总是警告我没有64位的Python在路径中。这些警告让我更想使用64位版本。

当初我选择32位安装时,主要是为了某个项目的图形界面(GUI)。现在这个图形界面变得很简单,数据库后端支持(使用Django)变得更重要了。因此,使用支持OS X和64位2.7的wxPython 2.9开发版本变得可以接受。

对于非Mac用户,想了解我为什么必须使用32位版本,可以参考这个在wxpython项目中使用virtualenv的简要指南

系统信息
开发系统
操作系统:Mac OS X Snow Leopard (10.6.7)
Python:2.7.1,使用virutalenv / virutalenv-wrapper
项目依赖:
请注意,如果我能用homebrew安装postgresql,MySQL可以替换为PostgresSQL的psycopg2。

Django==1.2.5
MySQL-python==1.2.3
PIL==1.1.7
PyVISA==1.3
pyserial==2.5
virtualenv==1.5.1
virtualenvwrapper==2.6.3
wsgiref==0.1.2
wxPython==2.8.11.0
wxPython-common==2.8.11.0

部署系统
操作系统:Windows XP / Windows 7
Python:希望没有(目标是使用py2exe或类似工具)

当前想法
我担心仅凭文件路径无法实现我的目标。在Windows 7中,路径中会有标识符(x86),显示这是一个32位程序,但在OS X中,32位和64位的安装路径是一样的(/Library/Frameworks/Python.framework/Versions/2.7/)。

任何想法或评论都很有帮助!

更新 2011年5月18日:上午8:40
我确认使用预编译的(.dmg)框架构建,安装64位版本确实会覆盖掉32位安装。这对我的虚拟环境产生了负面影响,因为我在环境中安装的所有东西都是基于32位安装的,几乎每个模块都会抛出某种错误。

我仍然没有在同一台机器上成功安装32位和64位,但深入研究homebrew后,似乎这可能是可行的。诀窍是为每个Python构建(从源代码)定义自己的配方,并将安装目录重命名为'Python27_32'和'Python27_64'。我会在有时间的时候继续探索这个方向。

编辑 2011年7月12日:上午10:51 CST
有没有人能控制homebrew的编译选项?特别是如何选择使用64位编译器或32位编译器?如果这个问题没有得到解决,我会创建一个新的SO问题。

3 个回答

0

我会使用类似于 virtualenv 的工具。这样你就可以根据需要安装多个不同版本的Python。

补充说明:如果你想使用不同版本的Python,可以使用:

virtualenv -p python2.6

参考链接

0

在我提的一个问题的回答中,有人提到另一个可能的解决方案,就是在Windows系统中使用一个叫做Buildout的工具。这个方法看起来可以让我创建一个32位的环境,还有一个64位的环境。

我还没有试过这个方法,但想把这个信息分享给其他也在尝试这个的朋友们。

祝好!

2

可以看看 http://www.macports.org/ 这个网站。它提供了很多不同版本的Linux/Unix工具,这些工具在默认的Mac安装中是找不到的,同时也会重复安装一些必要的工具。它会把所有东西安装在/opt/local这个地方,这样就不会影响到系统原本的安装。通过调整一下PATH和LD_LIBRARY_PATH这两个环境变量,你可能就能得到你需要的选项。

撰写回答