Install mysqlclient for Django Python on Mac OS X Sierra
Solution 1
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
Solution 2
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.
Solution 3
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"
Solution 4
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
Solution 5
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
Related videos on Youtube
![Андрей Морченко](https://lh6.googleusercontent.com/-nI4vDBplWdw/AAAAAAAAAAI/AAAAAAAAAIE/7ij8ABDjpEo/photo.jpg?sz=256)
Андрей Морченко
Updated on June 12, 2021Comments
-
Андрей Морченко about 3 years
I have already installed
- Python 2.7.13
- Django 1.11
- MySQL 5.7.17
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/
-
chadgates about 7 yearsHad the same problem, and this approach worked: stackoverflow.com/questions/43740481/…
-
CarmenA over 6 yearsthis is the only thing that worked for me, and I think most importantly is using "brew install mysql" cause with "brew install mysql-connector-c" I get same error from the question.
-
Zaira Zafar almost 6 yearsthis approach doesn't work for me. Can you suggest something else?
-
ballzeri0 over 5 yearsthis should be the answer
-
tsmets over 5 yearsLast command failed on my Mac with a massive stacktrace, starting with : [code]Building wheels for collected packages: mysqlclient Building wheel for mysqlclient (setup.py) ... error Complete output from command /Users/tsmets/Documents/work/Projects/ISO27001RiskAssessment/site/venv/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/9l/ffh99l291kb9d_1_9mz3sq080000gn/T/pip-install-efrwnshd/mysqlclient/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec... [/code]
-
Nanhydrin almost 5 yearsPlease edit your answer to include some information on how it answers the question. This will make your answer more understandable and useful to the original poster and to future visitors. Thank you.
-
linehrr almost 5 yearsrun those exports first. you will get it working. @tsmets
-
Saurabh Shrivastava about 4 yearsI am using mac and tried everything available on internet for 2 days and nothing worked except your solution. Thanks a lot.
-
Alfredo Rodriguez almost 4 yearsI can confirm this worked for macOS Catalina 10.15.5, Python 3.8, Django 3.0.7 and mysql 8.0.19. Thank you!
-
Ben Daggers about 3 yearsafter morethan 2 hours of searching and trying to figure out how to make mysqlclient installation work, i am tired and hopelessly tried your solution... and voila! it worked! Thank you!!!
-
sashaegorov over 2 yearsThat worked for me, thank you. It seems this is the only relevant solution in 2022