2013-05-08 41 views
12

我刚刚学会了如何使用virtualenv,并且我安装了Django 1.4.5。我假设virtualenv为我安装Django 1.4.5创建了一个干净的平台,我将之前的所有文件复制到virtualenv环境中。为Django安装MySQL-python

我试图运行服务器,但我得到一个错误,说"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 

不太清楚如何去解决这个问题= /任何帮助,非常感谢!

回答

22

我最近有这个问题(只是没有涉及到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 
+0

真棒!非常感谢你! easy_install -U发布了诀窍!谢谢!!! – Liondancer 2013-05-08 10:51:01

+0

没有probs,第一次我已经能够回答这样的问题,所以我经常问:) – d3vid 2013-05-08 11:45:21

+0

我还没有回答一个=/ – Liondancer 2013-05-09 01:46:56

14

花了一个小时通过stackoverflow看。已找到答案in the other question。这是救了我的东西:

sudo apt-get install libmysqlclient-dev 

mysql_config随软件包一起提供。

2

我不得不这样做:

pip install mysql-python 

的virtualenv中

8

里面当一个virtualenv中做:

pip install MySQL-python 

EnvironmentError: mysql_config not found 

要安装mysql_config,作为阿尔乔姆费多SOV说,首先安装

sudo apt-get install libmysqlclient-dev 

然后一切工作正常的virtualenv

+1

这对我来说是最好的答案,我遇到了mysql_config错误,并且接受的答案是 – 2015-12-22 15:13:54

2

的命令总是在Ubuntu上运行:

easy_install -U distribute 

sudo apt-get install libmysqlclient-dev 

最后

pip install MySQL-python 
2

建议的解决方案并没有为我工作了,因为我仍然在运行

`$ sudo apt-get install libmysqlclient-dev` 

后得到的编译错误,所以我不得不跑

apt-get install python-dev 

然后一切正常,我有

apt-get install python-dev 
2

Python的MySQL驱动程序(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 

你可以得到它下面是Django中MySQL的更详细的文档:

http://codex.themedelta.com/how-to-install-django-with-mysql-in-a-virtualenv-on-linux/

+0

链接不再工作 – cwhisperer 2017-06-20 12:53:29