mysql-connector-python
コードを取得し、python ./setup.py build
を実行すると、次のエラーが表示されます。
Unable to find Protobuf include directory.
pip install Protobuf
は役に立たなかった
この問題を解決するにはどうすればよいですか?
このエラーはバージョン2.2.3以降で発生することがわかりました。バージョン2.1.6を使用すると、この問題を回避できます。
pip install mysql-connector==2.1.6
上記を試してください。
2.2.3の時点で、Connector/Pythonは、Protobufをデータ交換形式として使用して、Xプラグインを有効にしたMySQLサーバーとインターフェースするC++拡張機能を使用します。
そのため、システム上のProtobufのインストール場所(ライブラリ、インクルード、およびprotocバイナリパス)を設定する必要があります。
要件
インストール
Pip + pypiを使用する場合、2つのオプションがあります。
1)MYSQLXPB_PROTOBUF_INCLUDE_DIR
、MYSQLXPB_PROTOBUF_LIB_DIR
、およびMYSQLXPB_PROTOC
の環境変数を設定します。
2)--install-option
を追加して、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>'
重要: 2.2.3は開発リリースであることに注意してください。
私はUbuntu 16.04にもこの問題があり、最終的に次の手順でmysql-connector 2.2.3をインストールできます。
Ubuntuパッケージマネージャーを介してこれらのパッケージをインストールします。
Sudo apt install libprotobuf-dev protobuf-compiler
これらの環境変数を設定します。
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
Pythonパッケージマネージャーを使用してmysql-connectorパッケージをインストールします。
pip install mysql-connector
お役に立てれば。
何らかの理由で、pip install mysql-connector
がv2.2.3をインストールしようとしたことに気付きましたが、これは望ましくありません。したがって、pip install mysql-connector==2.1.6
と入力すると、エラーなしでインストールされました。 python 3.6.1を実行しているvirtualenvを使用していることにも注意してください。そこにインストールしました。特定のpythonモジュールのインストールに関するドキュメントがあります。 https://docs.python.org/3/installing/index.html
私はWIN 7 64-bit、python 27を使用しています。このコマンドは私にとってはうまく機能し、特にv2.2.が開発中の場合に最適です版。
pip install mysql-connector==2.1.4
Macポートでprotobufをインストールするには、次のようにしました
Protobufのインストール:
port install protobuf-cpp
Protobufの場所を宣言する
export MYSQLXPB_PROTOBUF_LIB_DIR=/opt/local/lib export MYSQLXPB_PROTOC=/opt/local/bin/protoc export MYSQLXPB_PROTOBUF_INCLUDE_DIR=/opt/local/include
コネクターの取り付け
pip install mysql-connector
2.1.6コネクタは、Django 1.11への接続時にNoneType
エラーで失敗することに注意してください。 2.1.7で修正されました。
MacOSで 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