MySQL-python 1.2.3和OS X 10.5:64位还是32位?

时间:2009-12-28 12:19:14

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

我很高兴在运行OS X 10.4 Tiger的现有机器上开发Django和MySQL,并在新的64位MacBook上使用10.5 Leopard设置类似的10.5 Leopard环境。 4。

但是,现在我希望他们进行沟通,easy_install MySQL-python给了ld warning file is not of the required architecture,这导致我测试我的Python 2.4.6安装(来自Mac OS X disc image }):

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

阿。所以我的Python安装看起来是32位的(我认为?)不会为我的64位MySQL安装MySQL-python。在OS X上有很多针对MySQL-python的黑客攻击(大多数是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位(就像我的工作设置一样)我错过了什么?
  4. 我正在进行无障碍安装,很容易在其他机器上重现(可能是学生使用),所以我真的很欢迎您的意见!

2 个答案:

答案 0 :(得分:3)

如果有人找到此页面并需要答案,我会在此处发布此内容...

解决方案: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 pageset it up as required安装最新的32位MySQL软件包。

使用以下命令删除MySQL-python:

easy_install -m MySQL-python

然后删除site-packages中的鸡蛋,并确保easy_install -m删除了easy-install.pth文件中的包装行。

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

测试它:

>>> import MySQLdb

对我来说,这解决了这个问题。无需为as advised编辑_mysql.c(MySQL-python 1.2.2)或混淆任何其他设置。

如果你需要它们(如果上面的失败,或者你真的想尝试64位安装),这里有一些在研究时使用的链接:

但是note this

  

“如果你去64岁,你就必须这样做   重新编译每一件事   与python,mysql和。进行交互   apache以64位拱形工作   程序“

对于Snow Leopard上的任何人:

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

答案 1 :(得分:1)

我发现以下步骤(使用Snow Leopard)获得了64位MySQL和64位Python(在2011年初的Macbook Pro上)

  1. 安装Xcode
  2. 安装64位MySQL
  3. 安装最新的python
  4. 安装easy_install

    http://pypi.python.org/pypi/setuptools下载并安装适当的鸡蛋,然后运行shell脚本(在我的情况下......)
    sudo sh setuptools-0.6c11-py2.6.egg

  5. 安装MySQLdb python库

    export PATH = $ PATH:/ usr / local / mysql / bin /
    sudo easy_install MySQL-python

  6. 更改〜/ .profile以包含以下行:

    export VERSIONER_PYTHON_PREFER_32_BIT = no
    出口VERSIONER_PYTHON_PREFER_64_BIT =是

  7. 使libmysqlclient.18.dylib可用

    sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib