2017-03-26 1 views
39
pip installieren

ich mysql-connector-python Code gezogen und als ich python ./setup.py build betreibe ich die folgende Fehlermeldung erhalten:kann nicht Protobuf gehören suchen während mysql-connector über

Unable to find Protobuf include directory. 

pip install Protobuf war nutzlos

Wie kann ich dieses Problem lösen Problem?

+0

ich das gleiche Problem habe, jede Hilfe – venuktan

+0

appriciated I auch eine gleiche Fehlermeldung hatte, als ich versuchte, mysql-connector 2.2.3 (nicht zu installieren mysql-connector-python) von pip. 2.2.3 ist Entwicklungsversion. Und ich könnte 2.1.4 installieren. Wie wäre es mit einer anderen Version? – tabata

Antwort

106

Ich habe festgestellt, dass dieser Fehler seit Version 2.2.3 auftritt. Sie können dieses Problem mit Version 2.1.6 vermeiden.

pip install mysql-connector==2.1.6

versuchen oben.

+4

Version 2.1.6 funktioniert auch ohne Protobuf. –

+0

gespeichert mein Tag :) – Rumin

+0

arbeitete wie Charme –

12

Ab Version 2.2.3 verwendet Connector/Python eine C++ - Erweiterung, die mit einem MySQL-Server mit aktiviertem X-Plug-in verbunden ist, wobei Protobuf als Datenaustauschformat verwendet wird.

Sie müssen also einrichten, wo Protobuf auf Ihrem System installiert ist (die Bibliothek, Include und Protoc-Binärpfade).

Anforderungen

  • AC/C++ Compiler, wie gcc
  • Protobuf C++ (Version> = 2.6.0)
  • Entwicklung Python-Dateien

Installations

Sie haben zwei Möglichkeiten, wenn Sie pip + pypi verwenden:

1) Umgebungsvariablen für MYSQLXPB_PROTOBUF_INCLUDE_DIR, MYSQLXPB_PROTOBUF_LIB_DIR und MYSQLXPB_PROTOC festlegen.

2) hinzufügen --install-option diese Optionen einzustellen, wenn Pip mit:

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

Wichtig: Beachten Sie, dass 2.2.3 eine Entwicklungsversion.

3

Aus irgendeinem Grund bemerkte ich, dass pip install mysql-connector versucht, v2.2.3 zu installieren, was wir nicht wollen. Daher habe ich speziell pip install mysql-connector==2.1.6 eingegeben und es ohne Fehler installiert. Bitte beachten Sie auch, dass ich einen virtualenv Python 3.6.1 benutze. Ich habe es dort installiert. Hier ist die Dokumentation zur Installation bestimmter Python-Module, die mir geholfen haben. https://docs.python.org/3/installing/index.html

9

Ich habe auch dieses Problem auf meinem Ubuntu 16.04 und kann schließlich mysql-connector 2.2 installieren.3 mit den folgenden Schritten:

  1. diese Pakete über den Manager Ubuntu-Paket installieren:

    sudo apt install libprotobuf-dev protobuf-compiler 
    
  2. Stellen Sie diese Umgebungsvariablen:

    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. Installieren Sie den mysql-connector-Paket über Der Python-Paketmanager:

    pip install mysql-connector 
    

Hoffe das hilft.

+0

auch sicherstellen, dass Sie gcc-4.9 installiert haben (es ist in das Rad fest codiert) –

0

protobuf mit MAC-Ports zu installieren, habe ich die folgenden

Installation protobuf:

port install protobuf-cpp

Declare wo

export MYSQLXPB_PROTOBUF_LIB_DIR=/opt/local/lib export MYSQLXPB_PROTOC=/opt/local/bin/protoc export MYSQLXPB_PROTOBUF_INCLUDE_DIR=/opt/local/include

Installieren des Connectors

protobuf ist

pip install mysql-connector

1

Ich bin auf WIN 7 64-bit, Python 27. Dieser Befehl funktioniert für mich und am besten geeignet scheint, vor allem, wenn v2.2.3 ist eine Entwicklungsversion.

pip install mysql-connector==2.1.4 
0

Auf macOS, wenn Sie verwenden Homebrew:

$ brew install protobuf 
$ export MYSQLXPB_PROTOC=/usr/local/opt/protobuf/bin/protoc 
$ export MYSQLXPB_PROTOBUF_INCLUDE_DIR=/usr/local/opt/protobuf/include/ 
$ export MYSQLXPB_PROTOBUF_LIB_DIR=/usr/local/opt/protobuf/lib/ 
$ pip3 install mysql-connector 
Verwandte Themen