Получение ошибки при установке библиотеки Python memsql «_mysql.c: 44: 10: фатальная ошибка: файл« my_config.h »не найден» на MAC OSx » - PullRequest
0 голосов
/ 23 апреля 2019

Когда я пытаюсь установить библиотеку python memsql, получая сообщение об ошибке ниже

Я уже пробовал следующие варианты: 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('\r\n', '\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}

1 Ответ

1 голос
/ 23 апреля 2019

Чтобы установить memsql-python, необходимо убедиться, что у вас уже есть зависимости. В частности, в вашей среде отсутствует зависимость libmysqlclient-dev или эквивалентный пакет.

Примечание. Вы переопределяете пути включения, указывающие на вашу установку openssl, которая может вызывать эту проблему из-за того, как компилятор ищет заголовки разработки.

В соответствии с файлом readme проекта, для быстрого запуска 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 кажется, что вы можете установить пакет mysql-client из brew, который теоретически должен предоставить пакет libmysqlclient-dev. Если доступно, попробуйте установить пакет memsql-python без переопределения флагов компоновщика, так как memsql-python должен прекрасно работать без openssl. Если вам нужна поддержка openssl, вам необходимо убедиться, что и общие объекты openssl и libmysqlclient-dev доступны компоновщику во время компиляции.

...