web-dev-qa-db-fra.com

'pip install MySQL-python' échoue avec 'IndexError'

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

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

Aucun de ceux-ci n'a fonctionné (sortie avec la même erreur).

  • pip install mysqlclient
  • easy_install MySQL-python

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

15
mommi84

Copiez de ce blog.

En découvrant les informations que mysql-connector-cpeut arriver à la conclusion que la configuration par l'installation de brassage peut être incorrecte, ouvrez le /usr/local/bin/mysql_config script pour en modifier le contenu:

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

changer en:

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

Sauvegarder
Ensuite, réinstallez mysql-python:

pip install mysql-python
33
wangpeng

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

  1. désinstallation de brew mysql-connector-c
  2. installer brew mysql
  3. invoquez "mysql_config --libs" et confirmez que sa sortie inclut les options de bibliothèque correctes: "-L/usr/local/Cellar/mysql/5.7.20/lib -lmysqlclient -lssl -lcrypto"
  4. exporter LDFLAGS = -L/usr/local/opt/openssl/lib && pip installer mysqlclient
7
Yoichi Nakayama

Cela a résolu mon problème:

     brew install [email protected]
     brew link --force [email protected]

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

Ensuite, j'avais installé libmysqlclient-dev en utilisant la commande:

Sudo apt install libmysqlclient-dev

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

0
Ahmed Ginani