首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过pip安装mysql-connector时,找不到Protobuf包含目录

通过pip安装mysql-connector时,找不到Protobuf包含目录
EN

Stack Overflow用户
提问于 2017-03-26 21:58:27
回答 8查看 24.8K关注 0票数 39

我拉出了mysql-connector-python代码,当我运行python ./setup.py build时,我得到以下错误:

代码语言:javascript
复制
Unable to find Protobuf include directory.

pip install Protobuf是没用的

我该如何解决这个问题?

EN

回答 8

Stack Overflow用户

发布于 2017-03-28 13:05:25

我发现这个错误是从2.2.3版本开始出现的。使用2.1.6版可以避免此问题。

pip install mysql-connector==2.1.6

试试上面的。

票数 108
EN

Stack Overflow用户

发布于 2017-03-28 18:16:35

在2.2.3版本中,Connector/Python使用了一个C++扩展,该扩展与启用了X插件的MySQL服务器接口,使用Protobuf作为数据交换格式。

因此,您需要设置Protobuf在系统上的安装位置(库、包含和protoc二进制路径)。

需求

  • C/C++编译器,如gcc
  • Protobuf C++ (version >= 2.6.0)
  • Python开发文件

Installation

使用pip +pypi时有两个选项:

1)设置MYSQLXPB_PROTOBUF_INCLUDE_DIRMYSQLXPB_PROTOBUF_LIB_DIRMYSQLXPB_PROTOC的环境变量。

2)添加--install-option,在使用pip时设置以下选项:

代码语言:javascript
复制
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是一个开发版本。

票数 12
EN

Stack Overflow用户

发布于 2017-08-02 09:47:21

我在我的Ubuntu 16.04上也有这个问题,最终可以通过以下步骤安装mysql-connector 2.2.3:

  1. 通过Ubuntu包管理器安装这些包:

sudo apt install libprotobuf-dev protobuf-compiler

  • Set这些环境变量:

export MYSQLXPB=/usr/bin/protoc export MYSQLXPB_PROTOBUF_INCLUDE_DIR=/usr/include/google/protobuf通过MYSQLXPB_PROTOBUF_LIB_DIR=/usr/lib/x86_64-linux-gnu

  • Install包管理器导出mysql-connector包:

pip安装mysql-connector

希望这能有所帮助。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43029672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档