39 votes

Impossible de trouver le répertoire d’inclusion Protobuf lors de l’installation de mysql-connector over pip

J'ai tiré le code mysql-connector-python et quand j'exécute python ./setup.py build j'obtiens l'erreur suivante:

 Unable to find Protobuf include directory.
 

pip install Protobuf était inutile

Comment puis-je résoudre ce problème?

108voto

yutaka2487 Points 1453

J'ai constaté que cette erreur se produit depuis la version 2.2.3. Vous pouvez éviter ce problème en utilisant la version 2.1.6.

pip install mysql-connector==2.1.6

essayez ci-dessus.

12voto

Nuno Mariz Points 146

Comme d'2.2.3, Connecteur/Python utilise une extension C++ qui s'interface avec un serveur MySQL avec le X plugin activé, l'utilisation de Protobuf comme format d'échange de données.

Donc, vous devez définir jusqu'où Protobuf est installé sur votre système (la bibliothèque, comprennent et protoc binaire chemins d'accès).

Exigences

  • Un compilateur C/C++, comme gcc
  • Protobuf C++ (version >= 2.6.0)
  • Python fichiers de développement

Installation

Vous avez deux options lors de l'utilisation de pip + pypi:

1) Définir des variables d'environnement pour MYSQLXPB_PROTOBUF_INCLUDE_DIR, MYSQLXPB_PROTOBUF_LIB_DIR et MYSQLXPB_PROTOC.

2) Ajouter l' --install-option pour définir ces options lors de l'utilisation de pip:

shell> python install mysql-connector --install-option='--with-protobuf-include-dir=<path>' --install-option='--with-protobuf-lib-dir=<path>' --install-option='--with-protoc=<path>'

Important: Gardez à l'esprit que 2.2.3 est une version de développement.

9voto

Long TRAN Points 91

J'ai également ce problème sur mon Ubuntu 16.04 et enfin, je peux installer mysql-connector 2.2.3 en procédant comme suit:

  1. Installez ces paquets via le gestionnaire de paquets Ubuntu:

     sudo apt install libprotobuf-dev protobuf-compiler
     
  2. Définissez ces variables d'environnement:

     export MYSQLXPB_PROTOC=/usr/bin/protoc
    export MYSQLXPB_PROTOBUF_INCLUDE_DIR=/usr/include/google/protobuf
    export MYSQLXPB_PROTOBUF_LIB_DIR=/usr/lib/x86_64-linux-gnu
     
  3. Installez le paquet mysql-connector via le gestionnaire de paquets Python:

     pip install mysql-connector
     

J'espère que cela t'aides.

3voto

Brian Points 61

Pour une raison quelconque, j'ai remarqué que pip install mysql-connector essayé d'installer la version 2.2.3, ce que nous ne souhaitons pas. Par conséquent, j'ai spécifiquement entré pip install mysql-connector==2.1.6 et il s'est installé sans erreur. Veuillez également noter que j’utilise un serveur virtuel exécutant python 3.6.1. Je l'ai installé là-bas. Voici la documentation sur l’installation de modules python spécifiques qui m’a aidé. https://docs.python.org/3/installing/index.html

1voto

Madhu Venkat Points 11

Je suis sur WIN 7 64 bits , python 27. Cette commande me convient parfaitement , particulièrement lorsque v2.2.3 est une version de développement.

 pip install mysql-connector==2.1.4
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X