在 MAC OSx 上安装 memsql python 库"_mysql.c:44:10: fatal error: 'my_config.h' file not found"时出错



当我尝试安装 memsql python 库时出现以下错误

我已经尝试了以下选项: sudo pip install memsql

sudo pip install memsql --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib">

Installing collected packages: MySQL-python, memsql
Running setup.py install for MySQL-python ... error
Complete output from command /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u -c "import setuptools, tokenize;__file__='/private/tmp/pip-install-JDxMyP/MySQL-python/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" build_ext -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib install --record /private/tmp/pip-record-azfFw0/install-record.txt --single-version-externally-managed --compile:
running build_ext
building '_mysql' extension
creating build
creating build/temp.macosx-10.14-intel-2.7
cc -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 -I/usr/local/Cellar/mysql/8.0.15/include/mysql -I/usr/local/opt/openssl/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _mysql.c -o build/temp.macosx-10.14-intel-2.7/_mysql.o
_mysql.c:44:10: fatal error: 'my_config.h' file not found
#include "my_config.h"
^~~~~~~~~~~~~
1 error generated.
error: command 'cc' failed with exit status 1}

为了安装memsql-python您需要确保依赖项已经可用。 具体而言,环境中似乎缺少的依赖项是libmysqlclient-dev或等效包。

注意 - 您正在覆盖指向 openssl 安装的包含路径,这可能会导致此问题,因为编译器正在搜索开发标头。

根据项目的自述文件,使用以下步骤快速开始使用 Ubuntu:

sudo apt-get update
sudo apt-get install -y mysql-client python-dev libmysqlclient-dev python-pip
sudo pip install memsql

使用以下步骤开始使用基于 RHEL 的发行版,如 Amazon Linux 或 Centos:

sudo yum update
sudo yum install -y gcc mysql-devel
sudo pip install memsql

-- 编辑以解决有关在 Mac OSX 上安装的问题 在Mac上,您似乎可以从brew安装mysql-client软件包,理论上应该提供libmysqlclient-dev软件包。 一旦可用,请尝试安装 memsql-python 包而不覆盖链接器标志,因为 memsql-python 应该在没有 openssl 的情况下构建良好。 如果您需要 openssl 支持,则需要确保 openssl 和 libmysqlclient-dev 共享对象在编译时都可供链接器使用。

这个过程对我有用:

brew remove mysql
brew install mysql@5.7
brew link --force mysql@5.7

我阅读了一篇文章并调整了过程以链接/usr/local/bin 中的内容,而不是向 PATH 变量添加新路由。 参考:MacOS:"pip install MySQL-python"返回错误:"_mysql.c:44:10:致命错误:找不到my_config.h'文件">

最新更新