web-dev-qa-db-fra.com

Impossible d'installer mysql-python avec pip sous MacOS 10.12.4

Erreur suivante reçue lors de l'exécution de pip install mysql-python

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/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/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

    ----------------------------------------
Command "python setup.py Egg_info" failed with error code 1 in /private/var/folders/b_/xh05hxwd0lzc3rm858jsypdc0000gn/T/pip-build-AWDYaP/mysql-python/

J'ai suivi les instructions de this post concernant la réinstallation de setuptools et j'ai réinstallé Python à partir de https://www.python.org/

which -a python donne

/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
/usr/bin/python

L'erreur semble s'être produite depuis l'installation de la mise à jour MacOS 10.12.4.

6
Franco

Résolu avec cette

brew install mysql
pip install MySQL-python
27
Franco

Si vous avez toujours échoué avec quelque chose comme "Échec de la construction d'une roue pour mysql-python", essayez

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

qui fonctionne comme un charme pour moi.

9
Donald

Si vous êtes comme moi et que vous avez installé mysql à partir de la source sur mac, oubliez ceux qui vous suggèrent d’utiliser brew - votre ordinateur possède déjà mysql-connector-c. Si vous avez réellement installé mysql-connector-c, désinstallez mysql-connector-c et essayez d'installer à nouveau mysql-python (Python 3).

4
mpoletto

Cela a fonctionné pour moi (macOS Mojave 10.14.2):

brew install [email protected]
brew link --force [email protected]
brew install mysql-client
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
2
Ivan Kvas

Cela a fonctionné pour moi:

    brew install [email protected]
    brew link --force [email protected]
2
Andrews Opoku

Pour résoudre ce problème, nous devrions éditer le fichier mysql_config. 

Pour cela, lancez la commande:

vi `which mysql_config`

Cela ouvrira l'éditeur mysql_config in vi.

Appuyez sur i pour être en mode insertion.

Maintenant trouver des lignes

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

pour moi, il est sur la ligne 118. Les lignes ci-dessus doivent être changées en

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

Maintenant, appuyez sur le bouton esc pour quitter le mode insertion et enregistrer le contenu ajoutéen émettant la commande:wq dans l'éditeur vi.

Essayez maintenant de réinstaller le module MySQL-Python à l’aide de pip.

Notez qu'il est supposé que mysql et openssl sont installés

0
padippist