Нет модуля с именем MySQLdb

291

Я использую Python версии 2.5.4 и устанавливаю MySQL версии 5.0 и Django. Django отлично работает с Python, но не с MySQL. Я использую его в Windows Vista.

  • 24
    pip install mysql-python или pip install mysqlclient
  • 6
    Мне пришлось установить sudo apt-get install libmysqlclient-dev чтобы все заработало.
Показать ещё 2 комментария
Теги:
python-2.x

17 ответов

550

Вам необходимо использовать одну из следующих команд. Какой из них зависит от того, какую ОС и программное обеспечение вы используете и используете.

  1. easy_install mysql-python (mix os)
  2. pip install mysql-python (mix os/python 2)
  3. pip install mysqlclient (mix os/python 3)
  4. apt-get установить python-mysqldb (Linux Ubuntu,...)
  5. cd/usr/ports/database/py-MySQLdb && make install clean (FreeBSD)
  6. ням установить MySQL-python (Linux Fedora, CentOS...)

Для Windows, смотрите этот ответ: Установите MySQL-Python (Windows)

  • 1
    Мне пришлось обновить мою версию setuptools, чтобы она соответствовала моей обновленной версии python для Mac OS, прежде чем я смог заставить это работать.
  • 14
    любая команда для Windows?
Показать ещё 7 комментариев
109

... и помните, что нет MySQLdb для python3.x

(Я знаю, что вопрос касается python2.x, но google оценивает этот пост довольно высоко)


EDIT: Как указано в комментариях, есть вилка MySQLdb, которая добавляет поддержку Python 3: github.com/PyMySQL/mysqlclient-python

  • 45
    чтение твоего ответа разбило мне сердце ...
  • 49
    жизнь полна страданий, одиночества и страданий
Показать ещё 7 комментариев
45

mysqldb - это модуль для Python, который не поставляется с предустановленной или с Django. Вы можете скачать mysqldb здесь.

  • 1
    При попытке установить MySQL-python-1.2.1 я получаю сообщение ImportError: Нет модуля с именем setuptools При попытке установить setuptools у меня получается, что zlib недоступен , разве он не должен быть связан с python?
  • 0
    после загрузки модуля вам нужно отредактировать файл site.cfg с правильным путем для mysql_config и запустить python setup.py install
Показать ещё 1 комментарий
44

если ваша версия python 3.5, выполните pip install mysqlclient, другие вещи не работают для меня

  • 0
    Я не знаю, почему этот ответ был mysqlclient , но mysqlclient является ответвлением проекта MySQLdb, и я могу подтвердить, что это сработало для меня в Windows 10
  • 1
    у меня тоже работает. ubuntu14.04
Показать ещё 9 комментариев
34

Ubuntu:

sudo apt-get install python-mysqldb
  • 0
    Спасибо, что поделились командой
  • 0
    Работает как шарм
14

Обратите внимание, что это не проверено для python 3.x

В CMD

pip install wheel
pip install pymysql

в settings.py

import pymysql
pymysql.install_as_MySQLdb()

Он работал со мной

  • 3
    «pip3 install mysqlclient» решает проблему для python3.6 /
  • 1
    Лучший взломать когда-либо.
Показать ещё 1 комментарий
9

Попробуй это.

pip install MySQL-python
  • 2
    Как это относится конкретно к виртуальным средам?
  • 0
    Да. вы правы. Исправленный.
Показать ещё 1 комментарий
8
pip install PyMySQL

а затем добавьте эти две строки в проект/проект/ init.py

import pymysql
pymysql.install_as_MySQLdb()

Работает на WIN и python 3.3 +

  • 0
    Я успешно использовал ваше предложение. Единственное изменение было в команде import: import pymysql Был при типе.
  • 0
    У меня работает: python2
Показать ещё 2 комментария
6

Если pip install mysqlclient выдает ошибку и вы используете Ubuntu, попробуйте:

sudo apt-get install -y python-dev libmysqlclient-dev && sudo pip install mysqlclient
5

Я встретил ту же ситуацию под окнами и искал решение.

Увидев это сообщение Установите mysql-python (Windows).

Это указывает на то, что установка такой среды с пипеткой затруднена, требует многих других зависимостей.

Но я, наконец, знаю, что если мы используем mysqlclient с версией до 1.3.4, ей больше не нужны эти требования, поэтому попробуйте:

pip install mysqlclient==1.3.4
5
  • Перейдите в каталог проекта с помощью cd.
  • источник/bin/активировать (активировать ваш env. если не ранее).
  • Запустите команду easy_install MySQL-python
  • 0
    Не работает ModuleNotFoundError: No module named 'ConfigParser'
3

Благодаря дерево, но я думаю, есть еще один хороший способ сделать это:

  • Загрузите и установите ActivePython
  • Открыть командную строку
  • Тип pypm install mysql-python
  • Прочитайте примечания, относящиеся к этому пакету.

Я думаю, что pypm более мощный и надежный, чем easy_install.

  • 0
    Похоже, что требуется платная подписка Can't install mysql-python-1.2.3: requires Business Edition subscription
  • 0
    Я так не думаю. Я помню, что установил это без проблем.
Показать ещё 2 комментария
2

Я пробовал методы выше, но до сих пор нет модуля с именем "MySQLdb", наконец, мне удалось с

easy_install mysql-python

мой env unbuntu 14.04

  • 0
    успех для virtualenv / python2.7
2

Если вы работаете в Vista, вы можете проверить Bitnami Django stack. Это стежок "все-в-одном" Apache, Python, MySQL и т.д., упакованные с помощью Bitrock кроссплатформенных инсталляторов, чтобы было очень легко начать работу. Он работает на Windows, Mac и Linux. О, и совершенно бесплатно:)

  • 0
    Что делать, если я работаю на XP?
  • 0
    Это будет работать и на XP
Показать ещё 2 комментария
1

Если вы используете SQLAlchemy и ошибка находится в /site-packages/sqlalchemy/dialects/mysql/mysqldb.py:

from ...connectors.mysqldb import (
                        MySQLDBExecutionContext,
                        MySQLDBCompiler,
                        MySQLDBIdentifierPreparer,
                        MySQLDBConnector
                    )

поэтому у вас может быть пропущенный соединитель mysqldb для SQLAlchemy, и решение состоит в том, чтобы повторно установить sqlalchemy после установки модуля mysql-python.

1

В OSX эти команды работали для меня

brew install mysql-connector-c 
pip install MySQL-python
0

для окна:

pip install mysqlclient pymysql

затем:

импорт pymysql pymysql.install_as_MySQLdb()

для Python 3 Ubuntu

sudo apt-get install -y python3-mysqldb
  • 0
    Запуск только «pip install mysqlclient pymysql» в Windows 10 (Python 3.6.2) решил мою проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню