在Mac OS X上安装MySQLdb

10

我花了几个小时在Mac OS X Snow Leopard上尝试安装MySQLdb(Python库)。我正在使用 SO 上这些说明。但我一直遇到错误,因此我尝试使用 MacPorts(该问题的一个答案建议使用),但我仍然遇到相同的错误。有人能帮忙吗?

import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "build/bdist.macosx-10.6-universal/egg/MySQLdb/__init__.py", line 19, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 7, in <module>
  File "build/bdist.macosx-10.6-universal/egg/_mysql.py", line 6, in __bootstrap__
ImportError: dlopen(/Users/josephmornin/.python-egg-cache/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): no suitable image found.  
  Did find:
    /Users/josephmornin/.python-egg-cache/MySQL_python-1.2.3-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so: mach-o, but wrong architecture

尝试过ActivePython吗?http://code.activestate.com/pypm/mysql-python/ - Sridhar Ratnakumar
4个回答

56

sudo pip install mysql-python 对我来说在10.8.1中可行。


9

我明白你的痛苦。我曾经也花了很长时间,试图在使用Macbook Air的Snow Leopard系统上,将MySQL与Python 2.6配合使用,并遇到了许多架构问题。最终解决方法是确保Python和MySQL都使用32位架构,就像我的Snow Leopard一样。

我在这里写了我的解决方案,希望对你有所帮助:

http://www.markliu.me/2010/jun/09/mysql-and-python-on-32-bit-snow-leopard/

祝你好运...


@Spike- 链接又挂了。虽然提供链接没有问题,但这说明为什么 SO 政策是在 SO 上完整回答问题,并提供链接以供参考或更多细节。 - kmarsh

4

在.bashrc或.bash_profile中尝试此操作

PATH="/usr/local/mysql/bin:${PATH}"
export PATH
export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/
export VERSIONER_PYTHON_PREFER_64_BIT=no
export VERSIONER_PYTHON_PREFER_32_BIT=yes

在进行pip install mysql-python之前运行这些命令对我来说非常有效。在我的特定情况下,我需要64位,并交换了VERSIONER_PYTHON_PREFER_XX_BIT标志的值。 - scwagner

1

您也可以强制Python以32位模式运行:

defaults write com.apple.versioner.python Prefer-32-Bit -bool yes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接