Установка MySQL-python для Django
Я только что узнал, как использовать virtualenv
, и я установил Django 1.4.5. Я предполагаю, что virtualenv
создал чистый список для меня, чтобы я работал с установленным Django 1.4.5, я скопировал все мои предыдущие файлы в среду virtualenv
.
Я попытался запустить сервер, но я получил сообщение об ошибке "no module named MySQLdb"
. Я думаю, это означает, что я забыл установить MySQL-python. Я попытался установить его через
pip install MySQL-python
Но я получаю эту ошибку
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))
Complete output from command python setup.py egg_info:
The required version of distribute (>=0.6.28) is not available,
and can't be installed while this script is running. Please
install a more recent version first, using
'easy_install -U distribute'.
(Currently using distribute 0.6.24 (/home/bradford/Development/Django/django_1.4.5/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg))
----------------------------------------
Command python setup.py egg_info failed with error code 2 in /home/bradford/Development/Django/django_1.4.5/build/MySQL-python
Не совсем уверен, как решить эту проблему =/любая помощь очень ценится!
Ответы
Ответ 1
Недавно у меня была именно эта проблема (только не по отношению к Django). В моем случае я разрабатываю Ubuntu 12.04, используя стандартный пин и распространяю версии, которые в основном немного устарели для MySQL-python
.
Поскольку вы работаете в изолированном virtualenv, вы можете спокойно следовать предлагаемой инструкции, не затрагивая вашу установку Python.
Итак, вы можете...
workon your_virtualenv #activate your virtualenv, you do use virtualenvwrapper, right?
easy_install -U distribute #update distribute on your virtualenv
pip install MySQL-python #install your package
Если по какой-либо причине обновление дистрибутива не является вариантом, вы можете попробовать установить более старую версию MySQL-python
следующим образом (вам нужно проверить, что эта версия совместима с вашей версией Django):
pip install MySQL-python==x.y.z #where x.y.z is the version you want
Ответ 2
Провел час, просматривая stackoverflow. В другом вопросе мы нашли ответ . Вот что меня спасло:
sudo apt-get install libmysqlclient-dev
mysql_config идет с пакетом.
Ответ 3
Выполнение в virtualenv:
pip install MySQL-python
Я получил
EnvironmentError: mysql_config not found
Чтобы установить mysql_config, как сказал Артем Федосов, сначала установите
sudo apt-get install libmysqlclient-dev
тогда все отлично работает в virtualenv
Ответ 4
Для драйвера MySQL для Python (mysql-python) требуется libmysqlclient-dev. Вы можете получить его с помощью:
sudo apt-get update
sudo apt-get install libmysqlclient-dev
Если python-dev не установлен, вам также придется его установить:
sudo apt-get install python-dev
Теперь вы можете установить драйвер MySQL:
pip install mysql-python
Вот более подробная документация для MySQL в Django:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
Ответ 5
Я должен был сделать это:
pip install mysql-python
внутри virtualenv
Ответ 6
Команды всегда запускаются в ubuntu:
easy_install -U distribute
позже
sudo apt-get install libmysqlclient-dev
и, наконец,
pip install MySQL-python
Ответ 7
Предлагаемые решения не сработали для меня, потому что у меня все еще появились ошибки компиляции после запуска
`$ sudo apt-get install libmysqlclient-dev`
поэтому мне пришлось запустить
apt-get install python-dev
Тогда все сработало для меня с
apt-get install python-dev
Ответ 8
я новичок в Python и Django, пытаясь запустить эту pip install MySQL-python
CMD pip install MySQL-python
я получаю эту Command "f:\agri\env\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\pc\\AppData\\Local\\Temp\\pi p-install-_wnga88m\\MySQL-python\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n'); f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\pc\AppData\Local\Temp\pip-record-mr_0w42z\install -record.txt --single-version-externally-managed --compile --install-headers f:\agri\env\include\site\python3.7\MySQL-python" failed with error code 1 in C:\Users\pc\AppData\Local\Temp\pip-install-_wnga88m\MySQL-python\
Command "f:\agri\env\scripts\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\pc\\AppData\\Local\\Temp\\pi p-install-_wnga88m\\MySQL-python\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n'); f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\pc\AppData\Local\Temp\pip-record-mr_0w42z\install -record.txt --single-version-externally-managed --compile --install-headers f:\agri\env\include\site\python3.7\MySQL-python" failed with error code 1 in C:\Users\pc\AppData\Local\Temp\pip-install-_wnga88m\MySQL-python\