Использую 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.
В таблице строки сгенерированы изначально (список пин-кодов) и далее только обновляются два поля: статус status (с 0 на 1 и обратно) и поле номер...
Сложно мне изменить класс, опыта малоКак бы добавить в Medoo возможность обновлять данные через ON DUPLICATE KEY UPDATE