Проблемы с установкой MySQL-python-1.2.3c1 на Mac Snow Leopard - PullRequest
2 голосов
/ 15 декабря 2009

У меня проблема с установкой Python MySQL-коннектора (MySQL-python-1.2.3c1) на мой Mac OSX Snow Leopard.

Состояние системы

Я вручную скомпилировал установленное: MySQL-5.1.41

Кажется, это работает нормально, поскольку я могу создавать и запрашивать базу данных из командной строки.

Я собрал: MySQL-питон-1.2.3c1

Сначала я установил следующее в файле site.cfg :

mysql_config = /usr/local/mysql/bin/mysql_config

Затем я собрал и скомпилировал MySQL-python-1.2.3c1, следуя их руководству:

sudo python setup.py build
sudo python setup.py install

Я сейчас проверяю установку с Python:

python -c "import MySQLdb"

Сообщение об ошибке

Это дает мне следующую ошибку, и я нахожусь в тупике, как ее исправить:

Traceback (most recent call last):
  File "<string>", 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/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so, 2): Symbol not found: _mysql_affected_rows
  Referenced from: /Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
  Expected in: flat namespace
 in /Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so
mymac: username$ 

Вещи, которые я пробовал

Я посмотрел этот блог antoniocangiano.com, но он предназначен для более старой версии MySQL-python и не очень применим. Но я попытался добавить упоминаемую ею мягкую ссылку.

Затем я посмотрел этот пост в блоге: http://blog.some -abstract-type.com / 2009/09 / mysql-python-and-mac-os-x-106-snow.html . И попробовал собрать компиляцию с настройками ARCHFLAGS - но без радости.

Пожалуйста, помогите

Если у вас есть идеи, пожалуйста, дайте мне знать.

Большое спасибо

Бен ...

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Во-первых, я бы предложил использовать двоичные файлы MySQL для MacOS X 10.5 64-bit (x86_64). Тарбол работает на MacOS X 10.6.

Вы сказали, что использовали ARCHFLAGS .. однако попробуйте еще раз, как это:

shell> ARCHFLAGS="-arch x86_64" python setup.py build
shell> sudo python setup.py install

Таким образом, сборка как обычного пользователя, установка как root. (Хорошо удалить исходный код и снова распаковать исправляющий файл site.cfg).

1 голос
/ 15 декабря 2009

Что значит

otool -L /Users/username/.python-eggs/MySQL_python-1.2.3c1-py2.6-macosx-10.6-universal.egg-tmp/_mysql.so

Сообщение * * 1004

...