Mac OS X-EnvironmentError: конфигурация mysql не найдена


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

pip install 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.

5 76

5 ответов:

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

  • вы установили python
  • ты brew install mysql
  • ты export PATH=$PATH:/usr/local/mysql/bin
  • и наконец, вы сделали pip install MySQL-Python

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

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

  1. попробуй which mysql_config от Баш. Скорее всего, его не найдут. Вот почему сборка тоже не находит его. Попробуйте запустить locate mysql_config и посмотреть, если что-нибудь возвращается. Путь к этому двоичному файлу должен быть либо в переменной среды $PATH вашей оболочки, либо он должен быть явно 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. Вы можете найти более подробную информацию здесь.

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

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

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

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

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

ответ

Pip ищет двоичные файлы mysql в каталоге Homebrew, который расположен относительно Macintosh HD@

usr/local/Cellar/

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

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

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

usr/local/mysql/bin

Шаг 3: После того, как там открыть терминал и использовать текстовый редактор выбора - я сам neovim парень, так что я набрал (не автоматически поставляется с 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: перейдите в корневой каталог и отредактируйте .файл

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

И Виола. Помните, что это вибрация.

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

$ pip install mysqlclient

Как user3429036 сказал:

$ brew install mysql

установить brew или apt-get также нелегко для меня, поэтому я загрузил mysql через:https://dev.mysql.com/downloads/connector/python/, установил его. Поэтому я могу найти mysql_config int в этом каталоге:/usr/local/mysql / bin

следующий шаг:

  1. export PATH=$PATH: / usr / local / mysql / bin
  2. pip install MySQL-python= = 1.2.5

ошибка:

$ pip install MySQL-python
sh: 1: mysql_config: not found

установка libmysqlclient-dev была решением здесь:

$ sudo apt-get install libmysqlclient-dev
$ uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.73-2+deb7u1 x86_64 GNU/Linux