wei*_*.lu 39 python mysql-connector-python
我提取mysql-connector-python代码,当我运行时,python ./setup.py build我收到以下错误:
Unable to find Protobuf include directory.
Run Code Online (Sandbox Code Playgroud)
pip install Protobuf 没用了
我怎么解决这个问题?
yut*_*487 107
我发现从版本2.2.3开始发生此错误.您可以使用版本2.1.6来避免此问题.
pip install mysql-connector==2.1.6
试试上面.
小智 12
从2.2.3开始,Connector/Python使用C++扩展,使用Protobuf作为数据交换格式,与启用了X插件的MySQL服务器连接.
因此,您需要设置系统上安装Protobuf的位置(库,包含和protoc二进制路径).
要求
安装
使用pip + pypi时有两种选择:
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>'
Run Code Online (Sandbox Code Playgroud)
重要提示:请记住2.2.3是一个开发版本.
小智 9
我在我的Ubuntu 16.04上也有这个问题,最后可以通过以下步骤安装mysql-connector 2.2.3:
通过Ubuntu包管理器安装这些包:
sudo apt install libprotobuf-dev protobuf-compiler
Run Code Online (Sandbox Code Playgroud)设置这些环境变量:
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
Run Code Online (Sandbox Code Playgroud)通过Python包管理器安装mysql-connector包:
pip install mysql-connector
Run Code Online (Sandbox Code Playgroud)希望这可以帮助.