5

简短描述
是否可以在 Python 2.7.1 32 位的现有安装(来自 python.org)之上 从python.org安装 Python 2.7.1 64/32 位?

背景
我为 wxPython(2.8) 支持安装了 32 位版本,到目前为止,它给了我零个问题。我现在很难安装一些模块(psycopg2 和 mysql-python)。homebrew 中的警告消息不断警告我路径上没有 64 位版本的 Python。这些警告只会添加到我想要使用 64 位版本的列表中。

在我选择 32 位安装时,特定项目的 GUI 是主要关注点。现在 GUI 变得非常简单,并且数据库后端支持(使用 Django)变得更加重要。话虽如此,使用 wxPython 2.9 的开发版本(支持 OS X 和 64bit 2.7)已经成为可以接受的。

对于非 mac 用户,为了帮助解释为什么我必须使用 32 位版本,请参阅这个在 wxpython 项目中使用 virtualenv 的简要指南

系统信息
开发系统
操作系统: Mac OS X Snow Leopard (10.6.7)
Python: 2.7.1 with virutalenv / virutalenv-wrapper
项目依赖关系:
请注意,如果我可以让 postgresql 与 homebrew 一起安装,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/32 位安装的路径相同 (/Library/Frameworks/Python.framework/Versions/ 2.7/)。

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

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

我仍然没有实现在同一台机器上安装 32 位和 64 位,但是查看更详细的自制软件看起来确实是可能的。诀窍是为每个 python 构建(从源代码)定义自己的公式,并将安装目录重命名为“Python27_32”和“Python27_64”。有时间我会继续探索这方面的。

编辑 2011 年 7 月 12 日:上午 10:51 CST
有没有人能够控制自制软件的编译选项?具体如何选择使用64位编译器还是32位编译器?如果这没有提出任何问题,我将创建一个新的 SO 问题。

4

3 回答 3

2

查看http://www.macports.org/ 它提供了各种 linux/unix 工具的端口,这些工具没有出现在默认的 MacInstallation 中,并复制了它需要的那些。它将所有内容安装在 /opt/local 中,而不是踩到已安装的基础上。通过对 PATH 和 LD_LIBRARY_PATH 进行一些操作,这可能会为您提供所需的选项。

于 2011-05-17T14:39:58.777 回答
0

我会使用类似virtualenv的东西。这样,您可以根据需要安装尽可能多的不同 python 安装。

编辑:要使用不同版本的 python 使用:

virtualenv -p python2.6

参考

于 2011-05-17T14:47:02.393 回答
0

在回答我的一个旨在在 Windows 世界中使用虚拟环境的问题时提供的另一种可能的解决方案是使用Buildout。这种方法看起来可以让我创建一个安装了 32 位的环境和另一个安装了 64 位的环境。

我尚未对此进行测试,但想将其传递给尝试此壮举的其他人。

干杯!

于 2011-05-18T13:47:53.363 回答