Подтвердить что ты не робот

MySQLdb для Python 2.7 на OSX 10.8.2 и BOTH - 64 бит

Здесь моя проблема: я не могу получить MySQLdb для работы python. Большинство других сообщений, касающихся этого, ссылаются на разные архитектуры MySQL/Python. Я проверил, и они оба 64 бит. У меня есть Python 2.7.2 (стандартная ОС X) и последняя версия MySQL, OS X 10.8.2.

мои исходные журналы ошибок:

Попытка импортировать MySQL db дает мне эту ошибку:

  Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: dlopen(/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so, 2): Library not loaded: libmysqlclient.18.dylib
  Referenced from: /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg/_mysql.so
  Reason: image not found

Это может быть полезно также, вывод консоли, когда я устанавливаю mysql-python 1.2.4b4

xxx-MBP:MySQL-python-1.2.4b4 me$ sudo python setup.py clean
running clean
removing 'build/temp.macosx-10.8-intel-2.7' (and everything under it)
xxx-MBP:MySQL-python-1.2.4b4 me$ sudo python setup.py install
running install
running bdist_egg
running egg_info
writing MySQL_python.egg-info/PKG-INFO
writing top-level names to MySQL_python.egg-info/top_level.txt
writing dependency_links to MySQL_python.egg-info/dependency_links.txt
writing MySQL_python.egg-info/PKG-INFO
writing top-level names to MySQL_python.egg-info/top_level.txt
writing dependency_links to MySQL_python.egg-info/dependency_links.txt
reading manifest file 'MySQL_python.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'MySQL_python.egg-info/SOURCES.txt'
installing library code to build/bdist.macosx-10.8-intel/egg
running install_lib
running build_py
copying MySQLdb/release.py -> build/lib.macosx-10.8-intel-2.7/MySQLdb
running build_ext
creating build/bdist.macosx-10.8-intel/egg
copying build/lib.macosx-10.8-intel-2.7/_mysql.so -> build/bdist.macosx-10.8-intel/egg
copying build/lib.macosx-10.8-intel-2.7/_mysql_exceptions.py -> build/bdist.macosx-10.8-intel/egg
creating build/bdist.macosx-10.8-intel/egg/MySQLdb
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/__init__.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/connections.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
creating build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/__init__.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/CLIENT.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/CR.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/ER.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/FIELD_TYPE.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/FLAG.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/constants/REFRESH.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb/constants
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/converters.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/cursors.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/release.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
copying build/lib.macosx-10.8-intel-2.7/MySQLdb/times.py -> build/bdist.macosx-10.8-intel/egg/MySQLdb
byte-compiling build/bdist.macosx-10.8-intel/egg/_mysql_exceptions.py to _mysql_exceptions.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/connections.py to connections.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/__init__.py to __init__.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/CLIENT.py to CLIENT.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/CR.py to CR.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/ER.py to ER.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/FIELD_TYPE.py to FIELD_TYPE.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/FLAG.py to FLAG.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/constants/REFRESH.py to REFRESH.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/converters.py to converters.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/cursors.py to cursors.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/release.py to release.pyc
byte-compiling build/bdist.macosx-10.8-intel/egg/MySQLdb/times.py to times.pyc
creating stub loader for _mysql.so
byte-compiling build/bdist.macosx-10.8-intel/egg/_mysql.py to _mysql.pyc
creating build/bdist.macosx-10.8-intel/egg/EGG-INFO
copying MySQL_python.egg-info/PKG-INFO -> build/bdist.macosx-10.8-intel/egg/EGG-INFO
copying MySQL_python.egg-info/SOURCES.txt -> build/bdist.macosx-10.8-intel/egg/EGG-INFO
copying MySQL_python.egg-info/dependency_links.txt -> build/bdist.macosx-10.8-intel/egg/EGG-INFO
copying MySQL_python.egg-info/top_level.txt -> build/bdist.macosx-10.8-intel/egg/EGG-INFO
writing build/bdist.macosx-10.8-intel/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
creating 'dist/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg' and adding 'build/bdist.macosx-10.8-intel/egg' to it
removing 'build/bdist.macosx-10.8-intel/egg' (and everything under it)
Processing MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg
removing '/Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg' (and everything under it)
creating /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg
Extracting MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg to /Library/Python/2.7/site-packages
MySQL-python 1.2.4b4 is already the active version in easy-install.pth

Installed /Library/Python/2.7/site-packages/MySQL_python-1.2.4b4-py2.7-macosx-10.8-intel.egg
Processing dependencies for MySQL-python==1.2.4b4
Finished processing dependencies for MySQL-python==1.2.4b4
4b9b3361

Ответ 1

Я ДУМАЮ, ЧТО Я СДЕЛАЛ ЭТО! Вот что я сделал.

ОК, это было очень неприятно.

Что в конечном итоге заставило его работать, это делать в терминале:

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

Но перед этим было много других вещей. Я смешал направления из двух источников:

Как установить MySQLdb (библиотека доступа к данным Python для MySQL) в Mac OS X? а также http://birdhouse.org/blog/2009/02/21/python-mysql-connections-on-mac-os/

Я использовал первый, чтобы очистить python и изменить файлы сборки... Я использовал второй, чтобы добавить 64-битные флаги для установки и сборки...

Затем я использовал ответ Ошибка импорта MySQLdb в Python 2.7.2 на Mac OSx 10.8.1 (что стало последним, что заставило его работать.)

чтобы установить меня по краю.

Я точно не знаю, что изменилось, потому что я ТАК МНОГО ЧЕЛОВЕК. Я удалил кучу вещей из папки python 2.7... и других вещей. Но единственное, что я могу быть уверен, это то, что смешивание направлений от этих двух источников имело значение. Спасибо за помощь, ребята....lol Надеюсь, это избавит кого-то от головной боли.

Ответ 2

Я перечислил 4 препятствия конфигурации, с которыми столкнулся, я их перечислил.

export CFLAGS = -Qunused-arguments export CPPFLAGS = -Qunused-arguments установка инструментов командной строки из настроек/загрузки xcode sudo ln -s/usr/local/mysql/lib/libmysqlclient.18.dylib/usr/lib/libmysqlclient.18.dylib