web-dev-qa-db-fra.com

Erreur d'installation MySQLClient: "déclencher une exception (" configuration MySQL incorrecte: peut-être https://bugs.mysql.com/bug.php?id "

J'essaie d'installer mysqlclient sur mon Python 3.6. À l'origine, ce que je veux installer est MySQLdb, mais il disait que MySQLdb ne fonctionne pas avec Python 3 (toujours?) Je passe donc à mysqlclient.

pip3 install mysqlclient

Cependant, il a reçu cette erreur:

    Collecting mysqlclient
  Using cached https://files.pythonhosted.org/packages/ec/fd/83329b9d3e14f7344d1cb31f128e6dbba70c5975c9e57896815dbb1988ad/mysqlclient-1.3.13.tar.gz
    Complete output from command python setup.py Egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup.py", line 18, in <module>
        metadata, options = get_config()
      File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 60, in get_config
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 60, in <listcomp>
        libraries = [dequote(i[2:]) for i in libs if i.startswith('-l')]
      File "/private/var/folders/h3/sff7td1d6pg5v5qsm5xf31q80000gn/T/pip-install-ki9z7ln9/mysqlclient/setup_posix.py", line 13, in dequote
        raise Exception("Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?")
    Exception: Wrong MySQL configuration: maybe https://bugs.mysql.com/bug.php?id=86971 ?

Puis-je savoir que dois-je faire pour résoudre ce problème?

11
Kevin Ling

C'est un bug depuis novembre 2017. J'ai eu la même erreur et c'est ce qui a aidé:

  1. Apportez des modifications à mysql_config fichier dans mysqlclient-python ou mysql-connector-c ou libmysqlclient (selon ce que vous utilisez)

    Changement

    # on macOS, on or about line 112:
    # Create options
    libs="-L$pkglibdir"
    libs="$libs -l "

à:

    # Create options
    libs="-L$pkglibdir"
    libs="$libs -lmysqlclient -lssl -lcrypto"
  1. Ajoutez le suivant à la fin de votre .bash_profilecomment faire :
   export PATH="/usr/local/opt/openssl/bin:$PATH"
   export LDFLAGS="-L/usr/local/opt/openssl/lib"
   export CPPFLAGS="-I/usr/local/opt/openssl/include"
  1. Courir pip install mysqlclient, cela devrait fonctionner maintenant.

Pour plus d'informations, vérifiez ce lien , consultez la section "Remarque sur le bogue de MySQL Connector/C sur macOS".

26
bloodwithmilk