it-swarm.com.ru

Mac OS X - ошибка среды: mysql_config не найден

Во-первых, да, я уже видел это: 

pip установка mysql-python завершается с ошибкой EnvironmentError: mysql_config не найден

Эта проблема

Я пытаюсь использовать Django в проекте Google App Engine. Однако я не смог начать работу, так как сервер не запускается должным образом из-за: 

ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

Я провел некоторое исследование, и все это указывало на необходимость установки Mysql-python, так как, очевидно, его нет в моей системе. Я на самом деле попытался удалить его и получил это: 

Cannot uninstall requirement mysql-python, not installed

Всякий раз, когда я действительно пытаюсь установить через: 

Sudo pip install MySQL-python

Я получаю сообщение об ошибке: 

raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

Я уже пытался запустить: 

export PATH=$PATH:/usr/local/mysql/bin

но это, похоже, не помогло, так как я снова запустил команду установки, но она все равно не удалась. 

Есть идеи? 

Пожалуйста, обратите внимание, я не на vertualenv. 

87
daniel_c05

Хорошо, ну, во-первых, позвольте мне проверить, нахожусь ли я на той же странице, что и вы:

  • Вы установили Python
  • Вы сделали brew install mysql
  • Вы сделали export PATH=$PATH:/usr/local/mysql/bin
  • И, наконец, вы сделали pip install MySQL-Python (или pip3 install mysqlclient, если используете python 3)

Если вы выполнили все эти шаги в одном и том же порядке и все еще получили ошибку, прочтите до конца, если, однако, вы не выполнили эти точные шаги, попробуйте выполнить их с самого начала.

Итак, вы выполнили шаги, и все равно получаете ошибку, ну, есть несколько вещей, которые вы можете попробовать:

  1. Попробуйте запустить which mysql_config из bash. Это, вероятно, не будет найдено. Вот почему сборка тоже не находит. Попробуйте запустить locate mysql_config и посмотреть, что получится. Путь к этому двоичному файлу должен быть либо в переменной окружения $ PATH вашей Shell, либо он должен быть явно указан в файле setup.py для модуля, предполагая, что он ищет какое-то определенное место для этого файла. 

  2. Вместо использования MySQL-Python, попробуйте использовать «mysql-connector-python», его можно установить с помощью pip install mysql-connector-python. Более подробную информацию об этом можно найти здесь и здесь .

  3. Вручную найдите местоположение «mysql/bin», «mysql_config» и «MySQL-Python» и добавьте все это в переменную среды $ PATH.

  4. Если все вышеперечисленные шаги не пройдены, вы можете попробовать установить «mysql» с помощью MacPorts. В этом случае файл «mysql_config» будет фактически называться «mysql_config5», и в этом случае вам придется сделать это после установки: export PATH=$PATH:/opt/local/lib/mysql5/bin. Вы можете найти более подробную информацию здесь .

Примечание 1: я видел, как некоторые люди говорили, что установка python-dev и libmysqlclient-dev также помогла, однако я не знаю, доступны ли эти пакеты в Mac OS.

Примечание 2: Кроме того, обязательно попробуйте запустить команды от имени пользователя root.

Я получил свои ответы (кроме моего мозга) из этих мест (возможно, вы могли бы взглянуть на них, чтобы посмотреть, поможет ли это): 1 , 2 , 3 , 4 .

Я надеялся, что помог, и был бы рад узнать, сработало ли это или нет. Удачи.

275
user3429036

Я устранял эту проблему навсегда - 3 часа 17 минут. Что меня особенно раздражало, так это то, что у меня уже был установлен sql в моей системе с помощью предыдущей универации, но pip/pip3 не распознал его. Эти темы выше и многие другие, которые я искал в Интернете, были полезны в освещении проблемы, но на самом деле ничего не решали.

ОТВЕТ

Пип ищет бинарные файлы mysql в каталоге Homebrew, который находится по отношению к Macintosh HD @

usr/local/Cellar/

так что я обнаружил, что это требует внесения нескольких изменений

шаг 1: Загрузите MySql, если это еще не сделано https://dev.mysql.com/downloads/

Шаг 2: Найдите его относительно Macintosh HD и CD 

usr/local/mysql/bin

Шаг 3: Когда откроете терминал и воспользуетесь текстовым редактором на выбор - я сам неовим, поэтому я набрал текст (автоматически не идет с Mac ... другая история на другой день)

nvim mysql_config

Шаг 4: Вы увидите примерно в строке 112

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

Правка на

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

* вы заметите, что этот файл имеет доступ только для чтения, так что если вы используете vim или neovim

:w !Sudo tee %

Шаг 5: Перейдите в корневой каталог и отредактируйте файл .bash_profile.

cd ~

Затем

nvim .bash_profile

и добавить

export PATH="/usr/local/mysql/bin:$PATH"

в файл, затем сохраните

Шаг 6: относительно Macintosh HD найдите пути и добавьте к ним

cd private/etc/

затем 

nvim paths

и добавить 

/usr/local/mysql/bin

* вы снова заметите, что этот файл имеет доступ только для чтения, так что если вы используете vim или neovim

:w !Sudo tee % 

затем

cd ~

затем обновите терминал с вашими изменениями, запустив 

source .bash_profile

В заключение

pip3 install mysqlclient

И альт. Помните, что это атмосфера.

5
Trevor James Oluotch

Также это происходит, когда я устанавливал mysqlclient,

$ pip install mysqlclient

Как сказал пользователь 3429036,

$ brew install mysql
2
AndreL

Если вы не хотите устанавливать полный mysql, мы можем это исправить, просто установив mysqlclient brew install mysqlclient Как только cmd будет завершен, он попросит добавить следующую строку в ~/.bash_profile:

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

Закройте терминал и запустите новый терминал и выполните pip install mysqlclient

0
Arun