Установка MySQL Python в Mac OS X
Короче говоря, когда я пишу следующее:
sudo easy_install MySQL-python
Я получаю сообщение об ошибке
EnvironmentError: mysql_config не найден
Хорошо, поэтому есть много потоков и т.д., как это исправить, поэтому я запускаю этот код:
export PATH=$PATH:/usr/local/mysql/bin
Затем я перезапустил свой код sudo:
sudo easy_install MySQL-python
Затем я получаю следующую ошибку.
Настройка script завершена с ошибкой: команда 'llvm-gcc-4.2' не удалась с статусом выхода 1
Google/Stack переполнение, и мне сказали загрузить пакет GCC, который я сделал на днях, 200 Мб или там, и все еще нет исправить.
В этот момент я теряюсь, они говорят, что безумие делает одно и то же снова и снова, ожидая другого результата. Ну, я постоянно запускаю вышеупомянутый код, ожидающий другого результата, поэтому я не буду далеко не сойти с ума.
В этот момент в моей карьере Python я новичок в этом, но я готов попробовать почти все, что можно было бы запустить и запустить.
Если это помогает, я официально запущен, Mac X X 10.7.5, и у меня есть MAMP (это проблема?)
Кроме того, на днях, когда я впервые пробовал все это, я установил (переустановил?) MySQL, так что на данный момент я действительно в тяжелом положении.
Есть ли исправление?
Я пробовал свой мозг, искал Google, читал "Переполнение стека" и часами пытался понять это безрезультатно.
Ответы
Ответ 1
Другим вариантом является использование pymysql, это чистое клиентское соединение Python с MySQL, поэтому вам не нужно возиться с компиляцией, хорошее упражнение, но это может быть неприятно, если вы просто пытаетесь что-то сделать. pymysql следует тому же API, что и MySQLdb, его можно по существу использовать в качестве замены.
Кроме того, это было так, что MySQLdb не работал с Python 3, но это могло измениться, у pymysql не было этой проблемы, которая также побуждала меня переключаться, но это могло измениться. pymysql может быть медленнее, чем MySQLdb, но вам нужно будет увидеть, заметили ли вы это, он также находится под другой лицензией (MIT для pymysql, GPL для MySQLdb)
Ответ 2
Здесь я бы установил, особенно если вы хотите использовать homebrew:
- XCode и инструменты командной строки (как предложено @7stud, @kjti)
- Установите homebrew
-
brew install mysql-connector-c
-
pip install mysql-python
Ответ 3
Установите mysql через homebrew, затем вы можете установить mysql python через pip.
pip install MySQL-python
Это работает для меня.
Ответ 4
Для Python 3 + библиотека mysql-python
нарушена. Вместо этого используйте библиотеку mysqlclient. Install with: pip install mysqlclient
Это форк mysql-python (также известный как MySQLdb), который поддерживает Python 3 +
Эта библиотека рассказывает о C-интерфейсе клиента MySQL и работает быстрее, чем pythysql libray pure-python.
Примечание: вам понадобятся инструменты mysql-разработчика. Легкий способ сделать это на Mac - запустить
brew install mysql-connector-c
передать эту задачу доморощенным. Если вы работаете в Linux, вы можете установить их с помощью инструкций на странице mysqlclient github.
Ответ 5
Я использую OSX -v 10.10.4. Решение выше быстро и легко.
Случае, когда OSX не имеет библиотеки подключений по умолчанию.
Сначала вы должны установить разъем:
brew install mysql-connector-c
Затем установите с помощью pip mysql
pip install mysql-python
Ответ 6
Это время, чтобы быть большим мальчиком и установить из источника. Попробуйте следующее:
1) Загрузите файл MySQL-python-1.X.X.tar.gz(по умолчанию перейдите в каталог "Загрузки" )
2) Откройте окно терминала и компакт-диск в каталоге "Загрузки".
3) Разархивируйте загруженный файл:
~/Downloads$ tar xfvz MySQL-python-1.X.X.tar.gz
Это создаст каталог в каталоге загрузок с именем MySQL-python
4) cd во вновь созданный каталог.
5) Обычно вы просто открываете файл README или INSTALL и следуете инструкциям, но обычно для установки модуля python все, что вы делаете, это:
$ sudo python setup.py install
Если вы хотите посмотреть, должен быть файл setup.py внутри вашего недавно созданного каталога MySQL-python, и вы вызываете эту программу для установки модуля.
Также обратите внимание, что это:
export PATH=$PATH:/usr/local/mysql/bin
не является постоянным, если вы сделали это в командной строке. Вам нужно поместить эту строку в файл с именем .bashrc в вашем домашнем каталоге (~/или эквивалентно /Users/YOUR _USER_NAME). Чтобы убедиться, что .bashrc уже существует (это скрытый файл), выполните команду:
$ ls -al
и найдите .bashrc. Если .bashrc не существует, то создайте его.
Ответ 7
Как упоминалось выше, мне нужно... Получение Python для работы с MySQL на Mac - это? @# [email protected]&% ^!! кошмар.
Установленная инфраструктура Django на Mac OS 10.7.5 изначально с исходного сайта Django и когда MySQLdb не работал, и после многих часов поиска в Google и попытках решения из SO я установил стек Django из BitNami http://bitnami.com/stack/django
Тем не менее, появились проблемы, упомянутые выше, а затем еще несколько...
В итоге мне помогло то, что Джош рекомендует в своем блоге: http://joshbranchaud.com/blog/2013/02/10/Errors-While-Setting-Up-Django.html
Теперь Python 2.7, наконец, подключен к MySQL 5.5
Ответ 8
Проблема, с которой вы сталкиваетесь, заключается в том, что компилятор gcc
не установлен на вашем Mac. Он будет установлен, если вы установили XCode. Вам придется загрузить gcc
complier и установить его вручную. Следуйте приведенной ниже ссылке и загрузите ее -
https://github.com/downloads/kennethreitz/osx-gcc-installer/GCC-10.7-v2.pkg
У меня была эта проблема с установкой Ruby 1.9, и мне пришлось скомпилировать ruby для себя, потому что Mountain Lion не поддерживался в то время. После установки пакета проверьте установку командой gcc
.
Ответ 9
Я использую Python 2.7.11:: Anaconda 2.3.0 (x86_64) в Mac OS X 10.11.4 15E65.
Вы можете выполнить следующие шаги:
- Установить доморощенный
- Откройте терминал и запустите: brew установите mysql-connector-c
- pip install mysql-python
Затем у Anaconda будет установлен mysql-python, и вы можете начать с MySQLdb.
Удачи. Спасибо.
Ответ 10
Чтобы установить PyMySQL
установить pip => sudo easy_install pip
установить PyMySQL => sudo easy_install-3.7 pymysql
команда терминала, чтобы проверить, установлен ли он или нет => pip3 list
или же
установить PyMySQL => sudo pip install PyMySQL
команда терминала, чтобы проверить, установлен ли он или нет => pip3 list
MySQL
MacOS Sierra Public Betas не очень хорошо работал с MySQL 5.7.x, но теперь эти проблемы решаются с помощью MySQL 5.7.16
MySQL не поставляется с предустановленной MacOS Sierra и должен быть загружен с сайта MySQL.
(https://dev.mysql.com/downloads/mysql/) Последняя версия MySQL 5.7.16 работает с общедоступным выпуском macOS.
Если у вас уже есть MySQL 5.7 и вы обновили ОС с El Capitan до Sierra, я ожидаю, что это будет хорошо, но будет интересно, если кто-нибудь прокомментирует это.
Используйте Mac OS X 10.11 (x86, 64-bit), версия DMG Archive (работает на macOS Sierra).
Если вы обновляете предыдущую версию OSX и имеете более старую версию MySQL, вам не нужно обновлять ее. Одна вещь с обновлениями MySQL всегда берет дамп данных вашей базы данных на случай, если дела пойдут на юг, и прежде чем переходить на macOS Sierra, убедитесь, что ваш MySQL Server не работает.
При загрузке вам не нужно регистрироваться, ищите "Нет, спасибо, просто ведите меня к загрузкам! - перейдите прямо к загрузке зеркал и загрузите программное обеспечение с ближайшего к вам зеркала.
После загрузки откройте .dmg и запустите установщик.
После завершения установки вы получите диалоговое окно с временным паролем root mysql - это пароль root MySQL, а не пароль администратора macOS, скопируйте и вставьте его, чтобы вы могли использовать его. Но я обнаружил, что временный пароль в значительной степени бесполезен, так что нужно немедленно его поменять.
Вам также сообщают: если вы потеряете этот пароль, обратитесь к разделу "Как сбросить корневой пароль" в справочном руководстве по MySQL (https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions. html)
Изменить пароль root MySQL
Обратите внимание, что это не то же самое, что пароль root или пароль администратора macOS - это уникальный пароль для пользователя root mysql, используйте его и запомните/запишите где-нибудь, что это такое.
Стоп MySQL
sudo /usr/local/mysql/support-files/mysql.server stop
если остановка выдает разрешение
Сначала проверьте файл ошибок.
tail -f /usr/local/mysql/data/*.err
Сделайте полное закрытие или убейте процесс. Подтвердите, что процесс mysql не запущен
mysqladmin -uroot shutdown
sudo killall mysqld
ps -ef | grep mysql
Дайте разрешения
sudo chown -RL root:mysql /usr/local/mysql
sudo chown -RL mysql:mysql /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data
chmod -R 755 /usr/local/mysql/data/accountname.local.pid
or Right click->get info and change the permission for
/usr/local/mysql/data
/usr/local/mysql/data/Pushparajas-MacBook-Pro.local.pid
Запустите MySQL
sudo mysql.server start
Запустите его в безопасном режиме:
sudo mysqld_safe --skip-grant-tables
Это будет текущая команда, пока процесс не будет завершен, поэтому откройте другое окно оболочки/терминала и войдите в систему с паролем, который был временно сгенерирован:
mysql -u root -p
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass'
; Измените строчный 'MyNewPass на то, что вы хотите - и сохраните одинарные кавычки.
\q
Запустите MySQL
sudo /usr/local/mysql/support-files/mysql.server start
Запуск MySQL
Затем вы можете запустить сервер MySQL из системных настроек или из командной строки.
Командная строка запуска MySQL.
sudo /usr/local/mysql/support-files/mysql.server start
Чтобы найти версию MySQL из терминала, введите в командной строке:
/usr/local/mysql/bin/mysql -v -uroot -p
Это также помещает вас в интерактивный диалог оболочки с mySQL, для выхода наберите \q.
После установки, чтобы использовать команды mysql без ввода полного пути к командам, вам необходимо добавить каталог mysql в путь к своей оболочке (необязательный шаг), это делается в вашем файле .bash_profile в вашем домашнем каталоге, если вы не создавайте этот файл, просто создайте его с помощью vi или nano:
cd ; nano .bash_profile
export PATH="/usr/local/mysql/bin:$PATH"
Первая команда возвращает вас в ваш домашний каталог и открывает файл .bash_profile или создает новый, если он не существует, затем добавьте в строку выше, которая добавляет двоичный путь mysql к командам, которые вы можете запустить. Выйдите из файла с типом "control + x" и при появлении запроса сохраните изменения, набрав "y". Последнее, что нужно сделать здесь, это перезагрузить оболочку, чтобы вышеперечисленное сработало сразу.
source ~/.bash_profile
mysql -v
Вы снова получите номер версии, просто введите "q" для выхода.
Исправьте ошибку MySQL Socket 2002
Исправлена ошибка с надвигающимся сокетом 2002 года, которая связывает, где MySQL размещает сокет и где macOS считает, что это должно быть, MySQL помещает его в /tmp, а macOS ищет его в /var/mysql, сокет - это тип файла, который позволяет клиенту mysql/сервер связи.
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
PhpMyAdmin
раскомментируйте ниже строки в файле httpd.conf
LoadModule php7_module libexec/apache2/libphp7.so
Сначала исправьте ошибку сокета 2002 года, если вы не сделали этого из MySQL section-
sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Загрузите phpMyAdmin, (https://www.phpmyadmin.net/downloads/) пакет zip English, который подойдет многим пользователям, затем разархивируйте его и переместите папку с содержимым в корневой уровень документа (~/Sites/), переименовав папка для 'phpmyadmin.
Сделайте конфигурационную папку
mkdir ~/Sites/phpmyadmin/config
Изменить разрешения
chmod o+w ~/Sites/phpmyadmin/config
Запустите настройку в браузере http://localhost/~ username/phpmyadmin/setup/ или http://localhost/phpmyadmin/setup/
Вам нужно создать новое соединение с сервером localhost mysql, щелкнуть новый сервер.
Перейдите на вкладку Authentication и установите локального пользователя root mysql и пароль.
Добавьте имя пользователя "root" (возможно, оно уже заполнено, добавьте пароль, который вы установили ранее для настройки root-пользователя MySQL, нажмите "Сохранить", и вы вернетесь к предыдущему экрану. (Это не администратор macOS или пользователь root). пароль - это root-пользователь MySQL).
Убедитесь, что вы нажали "Сохранить", тогда файл config.inc.php теперь находится в каталоге /config каталога phpmyadmin, переместите этот файл на корневой уровень /phpmyadmin и затем удалите пустой каталог /config.
В последней версии phpmyadmin загрузите файл config.inc.php и поместите его в каталог phpmyadmin.
Если вы хотите настроить новый сервер, переместите файл config.inc.php в другое место и попробуйте http://localhost/~ username/phpmyadmin/setup
Теперь перейдя по адресу http://localhost/~ username/phpmyadmin/, вы сможете взаимодействовать с базами данных MySQL.
Чтобы обновить phpmyadmin, просто скачайте последнюю версию и скопируйте старый файл " config.inc.php " из существующего каталога в новую папку и замените - на всякий случай сделайте резервную копию старого.
права доступа
Чтобы запустить веб-сайт без проблем с разрешениями, лучше всего настроить корневой веб-сайт и его содержимое так, чтобы они были доступны для записи всем, так как это локальная разработка, это не должно быть проблемой безопасности.
Допустим, у вас есть сайт в папке " Пользовательские сайты " в следующем каталоге ~/Sites/testsite, который вы можете настроить для записи таким образом:
sudo chmod -R a+w ~/Sites/testsite
Если вы беспокоитесь о безопасности, то вместо того, чтобы сделать ее доступной для записи во всем мире, вы можете установить владельца как Apache _www, но при работе с файлами вам придется аутентифицироваться больше как администратор, вы не являетесь владельцем, вы бы сделали это так:
sudo chown -R _www ~/Sites/testsite
Это рекурсивно установит содержимое, которое будет принадлежать пользователю Apache. Если бы ваш сайт хранился в корневом каталоге документов на системном уровне, скажем, ~/Sites/testsite, то это должно быть последнее:
sudo chown -R _www ~/Sites/testsite
Другой простой способ сделать это, если у вас есть однопользовательская рабочая станция, - это изменить веб-пользователя Apache с _www на вашу учетную запись. Это оно! Теперь у вас есть собственный стек AMP, работающий поверх macOS Sierra.
Ссылка - https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/#ssu
Ответ 11
Что сработало для меня:
LDFLAGS=-L/usr/local/opt/openssl/lib pip install mysql-python
Ответ 12
В Мохаве я столкнулся с ошибками при поиске библиотек SSL, вот что в итоге сработало без изменения mysql_config
:
sudo pip install MySQL-Python --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib"
Надеюсь, это спасет кого-то от нескольких часов страданий
Ответ 13
ниже может быть помощь.
brew install mysql-connector-c
CFLAGS =-I/usr/local/Cellar/mysql-connector-c/6.1.11/include pip install MySQL-python
brew unlink mysql-connector-c