web-dev-qa-db-fra.com

Mac pip installer mysql-python échoué

J'ai installé MySQL et Workbench à partir du site Web. J'ai un projet Django dont 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

Quand je cours

pip install -r requirements.txt

J'ai une erreur mysql_config not found. Pour résoudre cela, j'ai couru

PATH=$PATH:/usr/local/mysql/bin

Il jette maintenant

    _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/

Pourquoi cela arrive-t-il?

MISE À JOUR: la solution ci-dessous a lancé:

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
8
Thinker

S'il vous plaît essayez:

CFLAGS=-Qunused-arguments CPPFLAGS=-Qunused-arguments pip install -r requirements.txt

Si cela ne fonctionne pas: installez d'abord mysql-connector-c

brew install mysql-connector-c 
pip install MySQL-python

Si vous utilisez Windows:

https://dev.mysql.com/downloads/connector/c/

Vous pouvez également vérifier ce qui se passe lorsque vous essayez de l'installer avec pip3.

MISE À JOUR: Si vous avez Linux: Veuillez ouvrir le /usr/local/bin/mysql_config.

Et alors:

#Create options
Libs = "-L $ pkglibdir "
Libs = " $ libs   -l"

remplacer par:

#Create options
Libs = "- L $ pkglibdir"
Libs = "$ libs -lmysqlclient -lssl -lcrypto"

Enregistrez-le et réinstallez mysql-python.

pip uninstall mysql-python
pip install mysql-python

Pour Mac:

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

devrait être utile.

11
user9008857

L'installation d'une ancienne version de MySQL a fonctionné pour moi:

brew remove mysql
brew install [email protected]
brew link --force [email protected]
pip install mysql-python

Voir:

23
Sergey Belash

Désinstallez simplement votre Mysql, installez MySql 5.7 et c'est réparé !!!!

Si vous ne réussissez pas avec l'une des solutions ci-dessus, cela signifie que votre version MySql ne correspond pas aux exigences. je pensais que c'était à cause de Python ou PyCharm, et j'ai utilisé virtualenv et conda mais pas de chance, donc quand j'ai comparé mes dépendances à l'un des ordinateurs de mon ami, c'était la version MySql. à 5,7 et son bon fonctionnement.

0
Syed ADnan

Pour moi, c'était:

brew install mysql-connector-c 
pip install MySQL-python
pip install mysql-connector
0
David Webster