Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can't install mysql-python with pip on MacOS 10.12.4

Tags:

python

macos

pip

Following error recieved when running pip install mysql-python

Collecting mysql-python
  Using cached MySQL-python-1.2.5.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/mysql-python/setup.py", line 17, in <module>
        metadata, options = get_config()
      File "setup_posix.py", line 53, in get_config
        libraries = [ dequote(i[2:]) for i in libs if i.startswith(compiler_flag("l")) ]
      File "setup_posix.py", line 8, in dequote
        if s[0] in "\"'" and s[0] == s[-1]:
    IndexError: string index out of range

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/mysql-python/

I followed the instructions in this post around reinstalling setuptools and I have reinstalled Python from https://www.python.org/

which -a python gives

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
/usr/bin/python

The error seems to have occurred since installing MacOS 10.12.4 update

like image 644
Franco Avatar asked Apr 26 '17 12:04

Franco


4 Answers

This worked for me (macOS Mojave 10.14.2):

brew install [email protected]
brew link --force [email protected]
brew install mysql-client
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
like image 142
Ivan Kvas Avatar answered Nov 09 '22 05:11

Ivan Kvas


If you still failed with something like "Failed building wheel for mysql-python", try

LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python

which works like a charm for me.

like image 32
Golden Thumb Avatar answered Nov 09 '22 04:11

Golden Thumb


Solved with this

brew install mysql
pip install MySQL-python
like image 21
Franco Avatar answered Nov 09 '22 04:11

Franco


If you are like me and installed mysql from source in mac, then forget who are suggest to use brew - your machine already has mysql-connector-c. If you did brew install mysql-connector-c, do brew uninstall mysql-connector-c and try pip install mysql-python again (Python 3).

like image 34
someone Avatar answered Nov 09 '22 04:11

someone