Установите mysqldb на снежного барса

Я пытаюсь начать работу с Python на Django. Я по профессии разработчик PHP, и мне сказали настроить django и python на моем текущем сервере apache и mysql, однако у меня возникли проблемы с тем, чтобы заставить работать модуль Mysqldb для python, Я должен был выполнить около 6 различных инструкций, я запускаю снежного барса, и у меня изначально установлен mysql, он не является частью MAMP или аналогичного. Пожалуйста, скажите мне, с чего мне нужно начать и какие шаги мне нужно сделать, я был бы очень благодарен.

Спасибо


person Udders    schedule 23.09.2009    source источник
comment
Что именно не работает? Модуль не устанавливается в первую очередь или Django отказывается подключаться к серверу базы данных MySQL?   -  person artagnon    schedule 23.09.2009
comment
связанный вопрос: stackoverflow.com/questions/1904039/   -  person cregox    schedule 26.04.2010


Ответы (8)


Я бы рекомендовал установить macports (последний ствол svn) и установить оттуда mysql.

sudo порт установить mysql5-server

Загрузите исходный код MySQL-python-1.2.2

убедитесь, что / opt / local / lib / mysql5 / bin находится на вашем пути, или отредактируйте site.cfg, включив в него:

mysql_config = /opt/local/lib/mysql5/bin/mysql_config

Закомментируйте строку 38 _mysql.c

// #define uint unsigned int

Затем запустите:

sudo python setup.py install

должно быть все хорошо.

person sleepyjames    schedule 23.09.2009
comment
Чтобы добавить его в свой путь, отредактируйте ~/.profile, добавьте export PATH=$PATH:/opt/local/lib/mysql5/bin в конец и запустите source ~/.profile. Для проверки: echo $PATH - person cregox; 23.04.2010

В MAC OS X 10.6 установите пакет как обычно. Ошибка динамического импорта возникает из-за неправильного пути DYLD. Экспортируйте путь и откройте терминал Python.

$ sudo python setup.py очистить

$ sudo python setup.py сборка

$ sudo python setup.py установить

$ экспорт DYLD_LIBRARY_PATH = / usr / local / mysql / lib: $ DYLD_LIBRARY_PATH

$ питон

импортировать MySQLdb

Теперь импорт MySQLdb должен работать нормально.

Вы также можете вручную удалить папку сборки перед сборкой и установкой. Команда clean не выполняет надлежащую задачу по очистке файлов сборки.

person Bharad    schedule 30.06.2011
comment
Это происходит даже тогда, когда в ошибке Python указывается полный абсолютный путь к файлу динамической библиотеки, что безумие (он четко знает, где должен быть найден файл). Спасибо, что разместили это. - person David; 30.06.2011
comment
PS: если вы используете pydev в Eclipse, вам также понадобится среда Python Interpreter. Или, по крайней мере, мне пришлось даже после добавления его в свой .bashrc - person brent.payne; 12.07.2011

[Частичный ответ]

Выщипывание зубов будет веселее. MySQL / Django / Mac - это катастрофа. Это самое дальнее, что я успел:

Получите MySQLDB 1.2.3 Зайдите в это и измените setup_posix.py:

Изменять:

mysql_config.path = "mysql_config"

Кому (в зависимости от номера версии вашего MySQL):

mysql_config.path = "/usr/local/mysql-5.1.34-osx10.5-x86_64/bin/mysql_config"

установка python setup.py сборка python setup.py установка

Вот хорошая статья

person Adam Nelson    schedule 23.09.2009

Прежде всего убедитесь, что установлен XCode. Без XCode многие части встроенного сервера Apache2, важные для разработчиков, отсутствуют; прежде всего, Коллекция компиляторов GNU, которая, как мне кажется, необходима для привязок MySQL.

person Community    schedule 23.09.2009
comment
Xcode устанавливает последнюю версию, которая была на диске снежного барса. Я также устанавливаю 10.4 SDK, как предложил кто-то другой. Еще что-нибудь? - person Udders; 23.09.2009

Один из ключевых моментов здесь - убедиться, что вы используете как MySQL, так и адаптер Python в 64-битной версии. По умолчанию Python 2.6.1 устанавливается на Snow Leopard в 64-битном режиме, поэтому вы должны установить MySQL в 64-битном режиме и собрать адаптер MySQLdb в 64-битном режиме.

  1. Убедитесь, что у вас установлен последний Xcode
  2. Установите 64-разрядную версию MySQL из DMG - http://dev.mysql.com/downloads/mirror.php?id=401941#mirrors
  3. Загрузите MySQL-python-1.2.3 со страницы http://download.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.3.tar.gz
  4. Извлеките и внесите следующие изменения в site.cfg:

    mysql_config = /usr/local/mysql/bin/mysql_config
    
  5. Затем с вашего терминала запустите

    ARCHFLAGS="-arch x86_64" python setup.py build
    sudo python setup.py install
    

Затем вам следует открыть оболочку Python и ввести:

import MySQLdb

Если у вас нет ошибок, вы золотой.

person Tim Fletcher    schedule 26.03.2011

  1. Xcode был установлен.

  2. Следуйте этим инструкциям по настройке apache / php / mysql:

    http://maestric.com/doc/mac/apache_php_mysql_snow_leopard

  3. Я установил бесплатную 32-разрядную версию EPD (это необязательно, но я хотел numpy / scipy).

  4. Убедитесь, что у вас есть эти строки в вашем ~ / .profile (вторая строка только если вы установили EPD):

    export PATH=/usr/local/mysql/bin/:/usr/local/bin:/usr/local/sbin:$PATH
    export PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
    
  5. Скачиваем mysqldb и запускаем:

    python setup.py build
    
    sudo python setup.py install
    
  6. Установите официальный выпуск Django или web2py. После этого все заработало. Вы можете попробовать «Написание вашего первого приложения Django, часть 1», чтобы проверить, где в settings.py используйте:

    DATABASE_ENGINE = 'mysql'           
    DATABASE_NAME = 'Django Polls'             
    DATABASE_USER = '*****'             
    DATABASE_PASSWORD = '*****'         
    DATABASE_HOST = '127.0.0.1'             
    DATABASE_PORT = '3306'             
    
  7. Я также использую Navicat Lite и Sequel Pro для работы с MySQL.

  8. Pydev - отличная среда разработки для использования с Django.

person David Dreisigmeyer    schedule 05.05.2010
comment
'*' Должно быть DATABASE_USER = 'your_db_user_name' DATABASE_PASSWORD = 'your_db_password' - person David Dreisigmeyer; 05.05.2010

  1. Установите новейшую 64-битную версию MySQL DMG. Не забудьте сделать резервную копию ваших баз данных, если у вас уже установлен MySQL.
  2. введите эту строку в терминал:

    sudo ln -s / usr / локальный / mysql / lib / usr / local / mysql / lib / mysql

  3. Отредактируйте файл setup_posix в каталоге установки mysql-python.

Измените строку

mysql_config.path = "mysql_config"

to

mysql_config.path = "/usr/local/mysql/bin/mysql_config"
  1. Myslq-Python требует 64-битной версии Python. Новая 64-битная версия Python 2.7 создает псевдоним в / usr / local / bin / python.
  2. Введите следующие строки в папку mysql-python

    sudo /usr/local/bin/python setup.py clean

    sudo ARCHFLAGS="-arch x86_64"

    sudo /usr/local/bin/python setup.py build

    sudo /usr/local/bin/python setup.py install

И, наконец, попробуйте:

python
import MySQLdb
person sbaechler    schedule 16.10.2010

Вы можете значительно упростить себе жизнь (особенно на Lion), просто установив вместо этого Mariadb:

http://mariadb.org/

Это прямая замена MySQL и plug & play на OSX. Единственное, чего вы не получите, - это настройки системы MySQL.

person sbaechler    schedule 25.06.2012