Установка MySQLdb в Mac OS X - PullRequest
       31

Установка MySQLdb в Mac OS X

9 голосов
/ 03 апреля 2011

Я провел несколько часов, пытаясь установить MySQLdb (библиотеку Python) на Mac OS X Snow Leopard.Я использую эти инструкции от 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

Ответы [ 4 ]

53 голосов
/ 10 сентября 2012

sudo pip install mysql-python работал у меня в 10.8.1.

9 голосов
/ 04 апреля 2011

Ack.Я чувствую твою боль.Я потратил очень много времени, пытаясь заставить MySQL работать с Python 2.6 на Snow Leopard, используя Macbook Air, и у меня было много проблем с архитектурой.В итоге я решил, что в обеих моих установках Python и MySQL использовалась 32-битная архитектура, как у моего Snow Leopard.

Я написал здесь о своем решении, так что, возможно, это поможет:

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

Удачи ...

4 голосов
/ 01 сентября 2011

попробуйте это в .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
1 голос
/ 17 октября 2012

Вы также можете принудительно запустить Python в 32-битном режиме:

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