为 Django 安装 MySQL-python
Posted
技术标签:
【中文标题】为 Django 安装 MySQL-python【英文标题】:Installing MySQL-python for Django 【发布时间】:2013-05-02 12:58:49 【问题描述】:我刚刚学会了如何使用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 无关)。就我而言,我正在使用默认的 pip 和分发版本在 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
【讨论】:
太棒了!非常感谢你! easy_install -U 分发成功了!谢谢!!! 没有问题,我第一次能够回答我经常问的那种 SO 问题 :) 我还没有回答一个=/ 请注意,distribute 已与 setuptools 重新合并,因此此答案可能不再适用(可能有更好的方法来更新 setuptools/distribute,或使用更新版本的 virtualenv 本身创建 virtualenv) 【参考方案2】:花了一个小时浏览 ***。最终找到答案in the other question。这就是拯救我的原因:
sudo apt-get install libmysqlclient-dev
mysql_config 随包一起提供。
【讨论】:
【参考方案3】:在 virtualenv 中做时:
pip install MySQL-python
我明白了
EnvironmentError: mysql_config not found
如Artem Fedosov所说,要安装mysql_config,首先要安装
sudo apt-get install libmysqlclient-dev
那么在 virtualenv 中一切正常
【讨论】:
这对我来说是最好的答案,我遇到了mysql_config
错误并接受了答案【参考方案4】:
用于 Python (mysql-python) 的 MySQL 驱动程序需要 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
以下是 Django 中 MySQL 的更详细文档:
http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/
【讨论】:
【参考方案5】:我必须这样做:
pip install mysql-python
在虚拟环境中
【讨论】:
【参考方案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 2.7
MySQL-python 包,您应该使用 MySQL_python‑1.2.5‑cp27‑none‑win32.whl 或 MySQL_python‑1.2.5‑cp27‑none‑win_amd64.whl 取决于您安装的是 32 位还是 64 位 Python。
pip install MySQL_python‑1.2.5‑cp27‑none‑win32.whl
如果你正在使用 mysqlclient 包,那么使用 mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl 或 mysqlclient‑1.4.6‑cp27‑cp27m‑win_amd64.whl
pip install mysqlclient‑1.4.6‑cp27‑cp27m‑win32.whl
https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient
【讨论】:
以上是关于为 Django 安装 MySQL-python的主要内容,如果未能解决你的问题,请参考以下文章
运行 Django 迁移的“没有安装标签为 'admin' 的应用程序”。该应用程序已正确安装
Django LookupError:没有安装标签为“管理员”的应用程序
ModuleNotFoundError:尝试为 Django 安装 Python 包时没有名为“pip.download”的模块