web-dev-qa-db-fra.com

Erreur lors de l'installation de mysqlclient sur Ubuntu 16.04 à l'aide de pip et Python 3.6

Je reçois une étrange erreur en essayant d'installer mysqlclient sur Ubuntu 16.04 Xenial avec pip + Python 3.6 :

 pip install mysqlclient

Production:

 _mysql.c:40:20: fatal error: Python.h: No such file or directory
 compilation terminated.
 error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

Suite aux exigences d'installation , j'ai essayé d'installer les bibliothèques requises, mais pas de chance jusqu'à présent.

Sudo apt-get install python3-dev libmysqlclient-dev

Quelqu'un connaît-il la solution à ce problème?

18
Ander

J'ai trouvé le problème, semble pour installer mysqlclient dans python3.6 la bibliothèque python3.6-dev est requis.

Ouvrez simplement un terminal et exécutez la commande suivante:

Sudo apt-get install python3.6-dev libmysqlclient-dev

Vous pouvez obtenir l'erreur suivante lorsque vous essayez d'installer la bibliothèque:

Reading state information...
E: Unable to locate package python3.6-dev
E: Couldn't find any package by glob 'python3.6-dev'
E: Couldn't find any package by regex 'python3.6-dev'

Si tel est le cas, essayez tout d'abord d'ajouter le référentiel suivant:

Sudo add-apt-repository ppa:jonathonf/python-3.6
Sudo apt-get update

Après cela, vous devriez pouvoir installer les packages python3.6 et python3.6-dev.

35
Ander

J'ai eu du mal à installer mysqlclient sur python 3.6.3, j'ai donc rétrogradé à la version 3.6.2 et cela a fonctionné.

Sudo apt-get install build-essential checkinstall
Sudo apt-get install libreadline-gplv2-dev  libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd /usr/bin
Sudo wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
Sudo tar xzf Python-3.6.2.tgz
cd Python-3.6.2
Sudo ./configure --enable-optimizations
Sudo make altinstall

python3.6 devrait pointer sur 3.6.2

python --version # Python 3.6.2

installez maintenant mysqlclient

python3.6 -m pip install mysqlclient

en savoir plus

1
Bar Horing

J'avais rencontré le même problème:

#Sudo pip3 install mysqlclient fails with mysql_config not found
Sudo apt-get install libmysqlclient-dev
#without pip3 it will not going to work for python3
Sudo pip3 install mysqlclient

Résolu en utilisant ci-dessus.

lien de référence

0
chocha ashish