Невозможно установить Python-MySQL на OS X 10.10 Yosemite

Я не могу установить Python-MySQL, я уже пробовал с easy_install, pip и sources.. И я всегда получаю ту же ошибку. Это то, что я получаю:

Matts-MacBook:Python matt$ sudo easy_install MySQL-python
Searching for MySQL-python
Reading https://pypi.python.org/simple/MySQL-python/
Best match: MySQL-python 1.2.5
Downloading https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-           1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c
Processing MySQL-python-1.2.5.zip
Writing /tmp/easy_install-i14rIs/MySQL-python-1.2.5/setup.cfg
Running MySQL-python-1.2.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-i14rIs/MySQL-    python-1.2.5/egg-dist-tmp-mG9d4K
clang: warning: -framework CrashReporterSupport: 'linker' input unused
In file included from _mysql.c:44:
/usr/local/mysql/include/my_config.h:349:11: warning: 'SIZEOF_SIZE_T' macro redefined
#define SIZEOF_SIZE_T  SIZEOF_LONG
      ^
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pymacconfig.h:56:17: note: 
  previous definition is here
#        define SIZEOF_SIZE_T           4
^In file included from _mysql.c:44:
/usr/local/mysql/include/my_config.h:443:9: warning: 'HAVE_WCSCOLL' macro redefined
#define HAVE_WCSCOLL
    ^
/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/pyconfig.h:912:9: note: 
  previous definition is here
#define HAVE_WCSCOLL 1
    ^
_mysql.c:1589:10: warning: comparison of unsigned expression < 0 is always false
  [-Wtautological-compare]
    if (how < 0 || how >= sizeof(row_converters)) {
        ~~~ ^ ~
3 warnings generated.
ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.Internal.sdk/System/Library/PrivateFrameworks'
ld: framework not found CrashReporterSupport
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: Setup script exited with error: command 'cc' failed with exit status 1

Ответ 1

Я решил проблему следующим образом:

  • После установки инструментов командной строки OSX для установки MySQL-python.

    $ xcode-select --install

    $ sudo pip install MySQL-python

    (Выдается три предупреждающих сообщения, но "Успешно установлен MySQL-python"...)

  • Ошибка "import MySQLdb" из интерпретатора Python (ошибка "не найдена" ) была решена следующим образом:

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

Моя среда, "OSX Yosemite, mysql 5.6.21, Python 2.7.8".

Удачи.

Ответ 2

Рекомендуется использовать pip вместо easy-install, поскольку это более продвинутое решение. См. здесь по причинам.

Так как вы также получаете ошибку XCode, у вас, вероятно, не установлены инструменты командной строки OSX. Они необходимы для компиляции MySQL-python. Вы можете загрузить их из Apple после входа.

Если вы все равно столкнулись с ошибкой, установите mysql-client через homebrew. brew install mysql --client-only