2017-04-21 4 views
4

Je suis sur OSX El Capitan, en utilisant Python 2.7 (Anaconda). Lancement de la commande pip install MySQL-python donne:'pip install MySQL-python' échoue avec 'IndexError'

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/d2/gd004m2s35z5dlyz9mfn6sc40000gn/T/pip-build-FYvb_T/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 

Aucune de ces travaillé (sortie avec la même erreur).

  • pip install mysqlclient
  • easy_install MySQL-python

pip est mise à jour. J'ai essentiellement essayé de suivre toutes les suggestions dans des questions connexes, mais aucune n'a réussi. Toute aide est la bienvenue, merci!

Répondre

0

J'ai eu la même erreur lors de l'installation pip install MySql-python.

Puis, je l'avais installé libmysqlclient-dev en utilisant la commande:

sudo apt install libmysqlclient-dev

Après l'avoir installé, j'ai essayé à nouveau et pip install MySql-python et cela a fonctionné pour moi.

+0

Savez-vous où trouver la bibliothèque correspondante pour OSX? 'brasser installer mysql' n'a rien changé, malheureusement. – mommi84

5

Copie de this blog.

En trouvant les informations que mysql-connector-c pourrait arriver à la conclusion que la configuration par l'installation de brassage peut être incorrect, ouvrez le script /usr/local/bin/mysql_config de modifier une partie du contenu de celui-ci:

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

changement dans:

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

Enregistrer
réinstallez mysql-python:

pip install mysql-python 
+0

Vous devrez peut-être lancer 'export LDFLAGS =" - L/usr/local/opt/openssl/lib "' et 'exporter CPPFLAGS =" - I/usr/local/opt/openssl/include "' avant d'installer mysql -python'. Voir la sortie de 'brasser info openssl' – Railslide

2

j'ai rencontré même erreur et résolu avec les instructions suivantes:

  1. brew désinstaller mysql-connector-c
  2. brew installer MySQL
  3. Invoke " mysql_config --libs "et confirmez sa sortie en incluant les options de la bibliothèque correcte:" -L/usr/local/Cellule/mysql/5.7.20/lib -lmysqlclient -lssl -lcrypto "
  4. export LDFLAGS = -L/usr/local/opt/o pensl/lib & & pip installer mysqlclient
+0

Merci beaucoup! Cela a fonctionné pour moi! Plus d'erreur egg_info! – Paul