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

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

有帮助吗?

解决方案

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

您还可以添加第二个 python 安装,但这也会导致更多问题,超出了我认为的价值。

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

其他提示

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

下龙,

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

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

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

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

然后你可以简单地使用 mod_python 将你的 Apache 安装指向新版本 Python解释器 指示

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

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

编辑:不过,您非常确信只需让安装程序执行其操作并更新 PATH 以反映这一点即可。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top