4

OS X 10.5 上的默认 Python 安装是 2.5.1,带有 FAT 32 位(Intel 和 PPC)客户端。我想设置 apache 和 mysql 来运行 django。过去,我在 32 位模式下运行 Apache 和 MySQL 以匹配此安装(甚至从 Apache 中剥离 64 位内容以使其工作)。

我想将 Python 升级到 64 位。我很乐意从源代码编译它,但需要注意一点。如何匹配默认安装的布局方式?特别是关于站点包,/Library/Python/2.5/而不是在我编译后埋在框架顶部的站点包。

4

5 回答 5

1

不确定我是否完全理解您的问题,但是您不能简单地构建和安装 64 位版本,然后创建符号链接,以便 /Library/Python/2.5 及以下指向您新构建的 python 版本吗?

于 2008-08-27T16:30:06.393 回答
1

就个人而言,在您发现问题之前,我不会担心。在 *Nix 系统上乱用默认的 python 安装可能会导致比它的价值更多的麻烦。我可以从个人经验中说,除非你遇到问题,否则你永远不会真正理解 python 为 nix 世界做了什么。

您还可以添加第二个 python 安装,但这也会导致比 IMO 更值得的问题。

所以我想最好的问题是你为什么要使用 64 位版本的 python?

于 2008-08-28T00:09:56.910 回答
1

假龙,

可以同时安装多个版本的 Python。并行安装两个版本可以解决您的问题,并有助于避免上面 Jason Baker 提出的问题。

最简单的方法,也是我推荐的方法,是使用MacPorts,它将单独安装所有软件。例如,默认情况下,所有内容都安装在 /opt/local

另一种方法是简单地下载源代码并使用指定的前缀进行编译。请注意,此方法不会修改您的 PATH 环境变量,因此如果您想避免每次都键入 python 可执行文件的完全限定路径,则需要自己执行此操作

./configure --prefix=/usr/local/python64
make
sudo make install

然后,您可以使用 mod_python 的PythonInterpreter指令简单地将您的 Apache 安装指向新版本

于 2008-08-28T07:16:15.437 回答
0

本质上,是的。我不确定您是否可以那样做(当前版本不会那样做)。但是,当使用 python 安装脚本时,没有选项(我可以找到)来指定放置目录和文件的位置(例如 --prefix)。我希望匹配 python 相关文件的当前布局,以避免冗余文件“污染”我的机器。

于 2008-08-27T23:38:27.767 回答
0

简短的回答是因为我可以。扩展OP所说的长答案是与apache和mysql / postgresql更加兼容。它们都是 64 位的(apache 是一个带有 ppc、ppc64 x86 和 x86 和 x86_64 的胖二进制文件,其他的只是直接的 64 位)。Mysqldb 和 mod_python 不会编译,除非它们都运行相同的架构。是的,我可以在 32 位(过去也有)中运行它们,但这比编译一个程序要多得多。

编辑:虽然你非常相信让安装程序做它的事情并更新 PATH 以反映这一点。

于 2008-08-28T00:33:52.297 回答