MySQL-python 1.2.3 和 OS X 10.5 : 64- or 32-bit?

标签 mysql macos 32bit-64bit mysql-python

我一直在运行 OS X 10.4 Tiger 的现有机器上愉快地使用 Django 和 MySQL 进行开发,并在新的 64 位 MacBook 上的 10.5 Leopard 中设置了类似的环境,并运行了 MySQL 和 Python 2.6。 4.

但是,现在我想让它们进行通信,easy_install MySQL-python 给出了 ld 警告文件不符合所需的架构 ,这让我测试了我的 Python 2.4.6 安装(来自 Mac OS X disc image ):

>>> import sys
>>> sys.maxint
2147483647

啊。所以我的 Python 安装似乎是 32 位的,并且(我认为?)不会为我的 64 位 MySQL 安装 MySQL-python。 OS X 上的 MySQL-python 有很多 hack(主要是 1.2.2),但是 - 经过几个小时的阅读 - 我很确定他们不会修复这种架构不匹配的问题。所以我陷入困境,因为我无法决定是否:

  • 放弃,删除 64-bit MySQL安装(请提供完整的方法?)并使用 32 位 MySQL 光盘镜像;
  • 从 tarball 以 64 位模式重新安装 Python,
    --with-universal archs-64-bit--enable-universalsdk=
    detailed in Python.org's 2.6 news .

所以我对遇到此问题的人的问题是:

  1. 在 OS X 10.5 上安装 64 位 Python 值得费心吗?
  2. 如果是这样,(天真、懒惰的问题!)两个必需的参数如何组合?
  3. 如果我只是跳过 32 位(如我的工作设置),我会错过什么?

我正在追求一个无忧无虑的安装,很容易在其他机器上重现(可能是学生使用),所以我非常欢迎您的意见!

最佳答案

我将其发布在此处,以防有人找到此页面并需要答案...

解决方案:remove the MySQL 64 位安装(更改以下内容以匹配您的 MySQL 版本号):

cd /usr/local
sudo rm -rf mysql-5.1.41-osx10.5-x86_64
rm -r mysql
cd /Library/Receipts/
rm -r mysql-5.1.41-osx10.5-x86_64.pkg

downloads page安装最新的32位MySQL包和 set it up as required .

删除 MySQL-python:

easy_install -m MySQL-python

然后删除 site-packages 中的 Egg 并确保 easy_install -m 删除了 easy-install.pth 文件中的 package 行那里。

启动 MySQL,然后重新安装 MySQL-python(确保您在撰写本文时获得最新版本 - 1.2.3):easy_install MySQL-python

测试一下:

>>> import MySQLdb

对我来说,这解决了问题。无需编辑 _mysql.c( as advisedMySQL-python 1.2.2 )或搞乱任何其他设置。

如果您需要它们(如果上述方法失败,或者您确实想尝试 64 位安装),以下是研究此问题时使用的一些链接:

但是note this :

"if you go 64, then you will have to recompile every single thing that interacts with python, mysql and apache to work as a 64 bit arch program"

对于雪豹上的任何人:

最后,MacPython 2.7 installer现在涵盖 64 位。请参阅此帖子了解 differences between running 64 and/or 32 bit .

关于MySQL-python 1.2.3 和 OS X 10.5 : 64- or 32-bit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1969222/

相关文章:

php - 替换为与更新

mysql - 如何查找文档的最新版本?

objective-c - 如何让 NSPopover 的分离窗口变成模态窗口

c# - 从 64 位应用程序调用 32 位 DLL 的函数

java - 我的机器和 Java 是 32 位还是 64 位?

mysql - 计算累计胜负百分比

mysql - CakePHP 3 - 查找器未加载正确的数据

macos - 如何在Xcode4的日志浏览器中清除所有条目?

macos - 通过左键单击 macOS 触发 SwiftUI 上下文菜单

visual-studio - 我想在 64 位模式下运行我的 Visual Studio