Reputation: 251
I have already installed
I want use MySQL with Django, but after install mysql connector I was try to install mysqlclient for Python on $ pip install mysqlclient
, but I have this issue:
Collecting mysqlclient
Using cached mysqlclient-1.3.10.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/y_/c31n_1v12v169zfv829p_v_80000gn/T/pip-build-f51KhW/mysqlclient/setup.py", line 17, in <module>
metadata, options = get_config()
File "setup_posix.py", line 54, in get_config
libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
File "setup_posix.py", line 12, 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/y_/c31n_1v12v169zfv829p_v_80000gn/T/pip-build-f51KhW/mysqlclient/
Upvotes: 24
Views: 44587
Reputation: 1026
The flags were slightly different for me
brew install mysql
export MYSQLCLIENT_CFLAGS="-I/opt/homebrew/opt/mysql/include/mysql"
export MYSQLCLIENT_LDFLAGS="-L/opt/homebrew/opt/mysql/lib"
pip install mysqlclient
Upvotes: 0
Reputation: 581
brew info mysql-client
might be the most future-proof way to find out what variables you need to set before you can install the mysqlclient
package.
None of the answers here worked for me. After running brew install mysql-client
, I then tried brew info mysql-client
. The relevant section of its output was:
==> Caveats
mysql-client is keg-only, which means it was not symlinked into /opt/homebrew,
because it conflicts with mysql (which contains client libraries).
If you need to have mysql-client first in your PATH, run:
echo 'export PATH="/opt/homebrew/opt/mysql-client/bin:$PATH"' >> ~/.zshrc
For compilers to find mysql-client you may need to set:
export LDFLAGS="-L/opt/homebrew/opt/mysql-client/lib"
export CPPFLAGS="-I/opt/homebrew/opt/mysql-client/include"
For pkg-config to find mysql-client you may need to set:
export PKG_CONFIG_PATH="/opt/homebrew/opt/mysql-client/lib/pkgconfig"
After running the exports described above, pip install mysqlclient
worked.
Upvotes: 0
Reputation: 1107
For my mac os, I need not to specify the path because brew do that for you. I just did below commands,
brew install mysql
brew install mysql-client
pip3 install mysqlclient
Everything is perfect & fine.
Upvotes: 1
Reputation: 15892
This worked for me today, after using brew install mysql
to install the MySQL server using Homebrew:
MYSQLCLIENT_CFLAGS=`pkg-config mysqlclient --cflags` \
MYSQLCLIENT_LDFLAGS=`pkg-config mysqlclient --libs` \
pip install mysqlclient
Upvotes: 2
Reputation: 167
brew install/upgrade/reinstall mysql
brew install mysql-client
export PATH="/usr/local/opt/openssl/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
pip install mysqlclient
works perfectly
Upvotes: 13
Reputation: 1868
Install mysql-client
instead of mysql
if you don't plan to have mysql
in your computer
brew install mysql-client
echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
pip install mysqlclient
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
Upvotes: 16
Reputation: 70175
I needed the following to build / install mysqlclient
brew install mysql-client
# mysql-client is not on the `PATH` by default
export PATH="/usr/local/opt/mysql-client/bin:$PATH"
# openssl is not on the link path by default
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/opt/openssl/lib/"
Then I could pip wheel mysqlclient
/ pip install mysqlclient
successfully
Upvotes: 56
Reputation: 71
For Mac: first download Xcode from App Store and MySqlWorkbench from https://dev.mysql.com/downloads/workbench/
Run the following commands in terminal,
$ brew install mysql
$ export PATH=$PATH:/Applications/MySQLWorkbench.app/Contents/MacOS
$ xcode-select --install
$ pip install mysqlclient
Upvotes: 7
Reputation: 91
Install mysql using brew and add it to the path:
$ brew install mysql
$ export PATH=/usr/local/mysql/bin:$PATH
$ sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/lib/libmysqlclient.18.dylib
$ pip install mysqlclient
Upvotes: 3
Reputation: 279
I have encountered this problem too,below is my step:
1.brew install mysql-connector-c
2.pip install mysqlclient
and then encountered this error,i have Traced the source code,but solved this one then the other error occured.
so i changed the way to install mysqlclient,just :
1.brew install mysql
2.pip install mysqlclient
this worked for me,no any errors occured.
Upvotes: 27