Использую django с python3. При pip install mysql-python выдает ошибку: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-kgys_quh/mysql-python/. Пробовал делать из venv, тоже самое
Вы бы выложили полный лог с ошибками, было бы понятнее почему у вас не работает.
Есть два способа использования mysql в python.
Вариант 1. Как пишут во всех статьяхДело в том, что все коннекторы к базам необходимо компилировать ввиду их конструктивных особенностей. Конечно же в случае использования pip он делает это за вас. Однако в вашей системе должны быть заголовочные файлы для компиляции. Вы не указали систему, поэтому для debian-based систем в т.ч. ubuntu:
sudo apt-get install python-pip python-dev libmysqlclient-dev
Далее необходимо повторить установку через pip
pip install MySQL-python
Вариант 2. Более правильный
Дело в том, что мейнтейнеры не дураки и всё собрали за вас. Соответственно вам надо установить пакет из репозитория, который содержит уже скомпилированный mysql-python.
Для debian-based опять же команда следующая:
sudo apt-get install python-mysqldb
Если у вас python3, тогда пакет немного другой:
sudo apt-get install python3-mysqldb
После этого у вас глобально появится модуль для подключения к mysql.
Однако это не всё. Если вы используете virtualenv (или venv в python3), то необходимо создать виртуальное окружение так, чтобы оно включало в себя глобальные пакеты. Делается это командой virtualenv venv --system-site-packages (или для python3 python3 -m venv --system-site-packages). После этого оно будет включать как глобальные пакеты, так и установленные непосредственно в окружение. Ставить через pip такие пакеты не нужно, ровно как и выносить их в файл requirements.
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники