2013-05-08 75 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