Can't install Python-MySQL on OS X 10.10 Yosemite

13,326

Solution 1

I've solved the problem as follows:

  1. After installing the OSX command line tools, to install the MySQL-python.

    $ xcode-select --install

    $ sudo pip install MySQL-python

    (Three warning message is issued, but, "Successfully installed MySQL-python" ...)

  2. "import MySQLdb" error from the Python interpreter("image not found" error) has been solved in the following way:

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

My environment, "OSX Yosemite, mysql 5.6.21, Python 2.7.8".

Good luck.

Solution 2

It's recommended to use pip instead of easy-install, as it's the more advanced solution. See here for reasons.

Since you also get an XCode error you probably don't have the OSX command line tools installed. They are required for compiling MySQL-python. You can download them from Apple after logging in.

If you should still run into an error, install mysql-client via homebrew. brew install mysql --client-only

Share:
13,326
Admin
Author by

Admin

Updated on June 07, 2022

Comments

  • Admin
    Admin almost 2 years

    I can't install Python-MySQL, I already tried with easy_install, pip and sources.. And I always get the same error. This is what I get:

    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
    
  • pythonjsgeo
    pythonjsgeo over 9 years
    This fixed the frustrating "import MySQLdb" error for me.
  • ajsmith007
    ajsmith007 over 8 years
    After upgrading MySQL to 5.7.10 from 5.6.26 on OSX Yosemite, Python 2.7.11 sudo ln -s /usr/local/Cellar/mysql/5.6.26/lib/libmysqlclient.18.dylib /usr/local/lib/
  • alfdev
    alfdev about 8 years
    Hi guys, anyone had solved this issue? i still gets this error: "Hy guys, anyone has solved this issue? i still got"