Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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
like image 792
Matt Avatar asked Sep 11 '14 17:09

Matt


People also ask

Does python 3.9 support MySQL?

So while mysql-connector-python page on pypi did not assert compatibility with Python 3.9 at the time of asking, v. 8.0. 22/23 would still work if installed under Python 3.9.

Does python 3.8 support MySQL?

It is sadly known that MYSQL has low compatibility with python.


2 Answers

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.

like image 85
cloudera Avatar answered Oct 02 '22 17:10

cloudera


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

like image 28
Manuel Riel Avatar answered Oct 02 '22 16:10

Manuel Riel