Во-первых, да, я это уже видел:
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
но это, похоже, не помогло, так как я снова запустил команду установки, и она все равно не удалась.
Любые идеи?
Обратите внимание, я не в виртуальном мире.
EnvironmentError
расширением и распечатать более полезную отладочную информацию, напримерos.getcwd()
. вы также можете добавитьpdb.set_trace()
и выяснить вещи.Ответы:
Хорошо, сначала позвольте мне проверить, нахожусь ли я на той же странице, что и вы:
brew install mysql
export PATH=$PATH:/usr/local/mysql/bin
pip install MySQL-Python
(илиpip3 install mysqlclient
если используете python 3)Если вы выполнили все эти шаги в том же порядке, и у вас по-прежнему возникает ошибка, читайте до конца, если, однако, вы не выполнили эти точные шаги, попробуйте, следуя им с самого начала.
Итак, вы выполнили действия, но по-прежнему получаете сообщение об ошибке. Вот несколько вещей, которые вы можете попробовать:
Попробуйте запустить
which mysql_config
из bash. Наверное, не найдется. Вот почему сборка его тоже не находит. Попробуйте бежатьlocate mysql_config
и посмотрите, не вернется ли что-нибудь. Путь к этому двоичному файлу должен быть либо в переменной окружения $ PATH вашей оболочки, либо он должен быть явно в файле setup.py для модуля, предполагая, что он ищет этот файл в каком-то определенном месте.Вместо MySQL-Python попробуйте использовать mysql-connector-python, его можно установить с помощью
pip install mysql-connector-python
. Более подробную информацию об этом можно найти здесь и здесь .Найдите вручную расположение mysql / bin, mysql_config и MySQL-Python и добавьте все это в переменную среды $ PATH.
Если все вышеперечисленные действия не увенчались успехом, то вы можете попробовать установить «MySQL» с помощью MacPorts, в этом случае файл «mysql_config» на самом деле будет называться «mysql_config5», и в этом случае, вы должны сделать это после установки:
export PATH=$PATH:/opt/local/lib/mysql5/bin
. Вы можете найти более подробную информацию здесь .Note1: Я видел некоторые люди говорят , что установка
python-dev
иlibmysqlclient-dev
помог, но я не знаю , если эти пакеты доступны на Mac OS.Примечание 2: Кроме того, попробуйте запустить команды от имени пользователя root.
Я получил свои ответы (помимо моего мозга) из этих мест (может быть, вы могли бы взглянуть на них, чтобы узнать, поможет ли это): 1 , 2 , 3 , 4 .
Я надеялся, что помог, и был бы рад узнать, сработало ли что-нибудь из этого или нет. Удачи.
источник
brew install mysql
исправил это. Кроме того, эта командаwhich mysql-config
у меня не сработала, но работалаwhich mysql_config
..bash_profile
файл:export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
Я отлаживал эту проблему вечно - 3 часа 17 минут. Что меня особенно раздражало, так это то, что у меня уже был установлен sql в моей системе через предыдущую работу с uni, но pip / pip3 не распознал его. Эти и многие другие темы, которые я искал в Интернете, помогли устранить проблему, но на самом деле не решили ее.
ОТВЕТ
Пип ищет двоичные файлы mysql в каталоге Homebrew, который расположен относительно Macintosh HD @
поэтому я обнаружил, что для этого нужно внести несколько изменений
шаг 1: Загрузите MySql, если это еще не сделано https://dev.mysql.com/downloads/
Шаг 2. Найдите его относительно Macintosh HD и компакт-диска.
Шаг 3: Как только вы откроете терминал и воспользуетесь любым текстовым редактором - я сам неовим, поэтому я набрал (не приходит автоматически с Mac ... другая история на другой день)
Шаг 4: примерно в строке 112 вы увидите
Изменить на
* вы заметите, что этот файл имеет доступ только для чтения, поэтому, если вы используете vim или neovim
Шаг 5: перейдите в домашний каталог и отредактируйте файл .bash_profile
затем
и добавить
в файл, затем сохраните
Шаг 6: относительно Macintosh HD найдите пути и добавьте к нему
затем
и добавить
* вы снова заметите, что этот файл имеет доступ только для чтения, поэтому, если вы используете vim или neovim
затем
затем обновите терминал с вашими изменениями, запустив
в заключение
И Виола. Помните, что это атмосфера.
источник
libs
внутренняя частьmysql_config
уже была такой, как описано в разделе «Изменить на». Однако добавление PATH вprivate/etc
помогло разрешить глобальную установкуmysqlclient
этого раньше.Если вы не хотите устанавливать полный mysql, мы можем исправить это, просто установив mysqlclient.
brew install mysqlclient
После завершения cmd он попросит добавить строку ниже в~/.bash_profile
:echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
Закройте терминал, запустите новый терминал и продолжайте
pip install mysqlclient
источник
Я запускаю Python 3.6 на MacOS Catalina. Моя проблема заключалась в том, что я пытался установить,
mysqlclient==1.4.2.post1
и он продолжает выдавать ошибку mysql_config not found.Вот шаги, которые я предпринял для решения проблемы.
brew unlink mysql
) -brew install mysql-connector-c
brew info openssl
- это даст вам больше информации о том, что нужно сделать, чтобы поместить openssl в PATHecho 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
источник
Также это происходит, когда я устанавливал mysqlclient,
Как сказал user3429036,
источник
Этот ответ предназначен для пользователей MacOS, которые установили не
brew
с официального сайта, а с него.dmg/.pkg
. Этот установщик не может отредактировать вашPATH
, что приводит к выходу из коробки:mysql
,mysqladmin
,mysql_config
и т.д. не могут быть найдены, и в результате:mysqlclient
Что вам нужно сделать, так это добавить
bin
папку MySQL (обычно/usr/local/mysql/bin
в вашемPATH
, добавив эту строку в свой~/.bash_profile
файл:export PATH="/usr/local/mysql/bin/:$PATH"
Затем вам следует перезагрузить,
~/.bash_profile
чтобы изменения вступили в силу в вашем текущем сеансе терминала:source ~/.bash_profile
Однако перед установкой
mysqlclient
вам необходимо принять лицензию XcodeBuild:sudo xcodebuild -license
Следуйте их указаниям, чтобы выйти из семьи, после чего вы сможете
mysqlclient
без проблем установить :pip install mysqlclient
После установки вы должны сделать еще одну вещь, чтобы исправить ошибку времени выполнения, которая поставляется с MySQL ( динамическая библиотека
libmysqlclient.dylib
не найдена ), добавив эту строку в путь к динамическим библиотекам вашей системы:export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH
источник
sudo lsof -i :3306
для просмотра PID активного процесса MySQL, а затем запустив егоsudo -P <pid>
, чтобы увидеть его открытые файлы. Это придумал,/usr/local/mysql-8.0.18-macos10.14-x86_64/bin
что я добавил$PATH
и вуаля !Если вы установили mysql с помощью Homebrew , указав версию, то здесь будет присутствовать mysql_config . - /usr/local/Cellar/mysql@5.6/5.6.47/bin
вы можете найти путь к sql bin с помощью команды ls в каталоге / usr / local /
Добавьте путь к профилю bash следующим образом.
источник
В моем случае проблема заключалась в том, что я запускал команду внутри виртуальной среды python, и у нее не было пути к / usr / local / mysql / bin, хотя я поместил его в файл .bash_profile. Для меня сработал просто экспорт пути в виртуальный env.
Для вашей информации sql_config находится внутри каталога bin.
источник
Установить brew или apt-get для меня тоже непросто, поэтому я скачал mysql через: https://dev.mysql.com/downloads/connector/python/ , установил его. Итак, я могу найти mysql_config в этом каталоге: / usr / local / mysql / bin
следующий шаг:
источник