Reputation: 5356
I installed MySQL and Workbench from website. I have a django project whose requirements.txt:
Django==1.11.12
djangorestframework==3.8.2
django-cors-headers==2.2.0
drfdocs==0.0.11
mysql-python==1.2.5
django-rest-auth==0.9.3
django-allauth==0.35.0
nltk==3.2.5
django-extensions==2.0.7
pyparsing==2.2.0
pydot==1.2.4
When I run
pip install -r requirements.txt
I got an error mysql_config not found
. To solve this I ran
PATH=$PATH:/usr/local/mysql/bin
It now throws
_mysql.c:44:10: fatal error: 'my_config.h' file not found
#include "my_config.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1
----------------------------------------
Command ""/Users/nitish/gitProjects/Vision Backlog/vb_env/bin/python" -u -c "import setuptools, tokenize;__file__='/private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-M4ue9E/mysql-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-record-7OCzf1/install-record.txt --single-version-externally-managed --compile --install-headers "/Users/nitish/gitProjects/Vision Backlog/vb_env/include/site/python2.7/mysql-python"" failed with error code 1 in /private/var/folders/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-M4ue9E/mysql-python/
Why is this happening?
UPDATE: following bellow solution threw:
Collecting MySQL-python
Using cached https://files.pythonhosted.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/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/ql/_w2_rlvs2351pdcnzhn04sf40000gn/T/pip-install-X6b4rU/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
Upvotes: 13
Views: 22050
Reputation: 679
Those who are facing this issue on Ubuntu even after installing all the required packages. They can follow this
https://dev.mysql.com/doc/dev/mysql-server/8.0.11/my__config_8h_source.html
Then create a file in /usr/include/my_config.h and paste it
sudo nano /usr/include/my_config.h
you can paste the content using ctrl + shift + v, depending on your distribution.
Now install the package, your version or no version.
pip install mysqlclient==1.3.7
You can get the source of the file from official link depending upon the SQL version.
Original Link - http://www.kombitz.com/2020/04/29/my_config-h-no-such-file-or-directory-on-centos-8/
Upvotes: 0
Reputation: 51
brew install [email protected]
export PATH="/usr/local/Cellar/[email protected]/5.7.29/bin:$PATH"
export LDFLAGS="-L/usr/local/Cellar/[email protected]/5.7.29/lib -L/usr/local/Cellar/[email protected]/1.1.1d/lib"
export CPPFLAGS="-I/usr/local/Cellar/[email protected]/5.7.29/include -I/usr/local/Cellar/[email protected]/1.1.1d/include"
/Users/tivanli/source/bk_project/pizza/venv/bin/pip install MySQL-python==1.2.5
Upvotes: 4
Reputation: 5
Just uninstall your Mysql, and install MySql 5.7 and is fixed!!!!
If you are not successful from any of the above solutions, it means that your MySql version is not matching the requirements. i was thinking that it is because of Python or PyCharm, and i used virtualenv and conda but no luck, so when i compared my dependencies to one of my friend's computer, it was MySql version. downgraded to 5.7 and its working fine.
Upvotes: -3
Reputation: 2321
For me it was:
brew install mysql-connector-c
pip install MySQL-python
pip install mysql-connector
Upvotes: 0
Reputation: 1471
Installing of an older version of the MySQL worked for me:
brew remove mysql
brew install [email protected]
brew link --force [email protected]
pip install mysql-python
See:
Upvotes: 39
Reputation:
Please, try:
CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install -r requirements.txt
If it does not work: First install mysql-connector-c
brew install mysql-connector-c
pip install MySQL-python
If you are using Windows:
https://dev.mysql.com/downloads/connector/c/
You can also check what happend when you try install it with pip3.
UPDATE:
If you have Linux:
Please open the /usr/local/bin/mysql_config
.
And then:
#Create options
Libs = "-L $ pkglibdir "
Libs = " $ libs -l"
replace with:
#Create options
Libs = "- L $ pkglibdir"
Libs = "$ libs -lmysqlclient -lssl -lcrypto"
Save it and reinstall mysql-python
.
pip uninstall mysql-python
pip install mysql-python
For Mac:
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
should be helpful.
Upvotes: 13