2013-05-08 10 views
12

Ho appena imparato a usare virtualenv e ho installato Django 1.4.5. Suppongo che lo virtualenv abbia creato una lavagna pulita per il mio funzionamento, quindi con Django 1.4.5 installato, ho copiato tutti i miei file precedenti nell'ambiente virtualenv.Installazione di MySQL-python per Django

Ho provato a eseguire il server ma viene visualizzato un messaggio di errore che indica "no module named MySQLdb". Penso che questo significhi che ho dimenticato di installare MySQL-python. Ho provato ad installarlo tramite

pip install MySQL-python 

Ma ottengo questo errore

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 
Non

del tutto sicuro di come fare per risoluzione di questo problema =/qualsiasi aiuto molto apprezzato!

risposta

22

Recentemente ho avuto esattamente questo problema (solo non in relazione a Django). Nel mio caso sto sviluppando su Ubuntu 12.04 utilizzando il pip predefinito e distribuendo le versioni, che sono fondamentalmente un po 'obsolete per MySQL-python.

Poiché si sta lavorando in una virtualenv isolata, è possibile seguire in modo sicuro le istruzioni suggerite senza influire sull'installazione di Python.

Così si può ...

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 

Se per qualche motivo l'aggiornamento distribuire non è un'opzione, è possibile provare a installare una versione precedente di MySQL-python come segue (che avrebbe dovuto controllare questa versione è compatibile con la tua versione di Django):

pip install MySQL-python==x.y.z #where x.y.z is the version you want 
+0

FANTASTICO! grazie mille! l'installazione easy_install -U ha fatto il trucco! Grazie!!! – Liondancer

+0

no probs, la prima volta sono stato in grado di rispondere ad una domanda SO del tipo che chiedo spesso :) – d3vid

+0

Devo ancora rispondere a uno =/ – Liondancer

14

Abbiamo passato un'ora a guardare attraverso lo stackoverflow. Risposta rilevata in origine in the other question. Questo è ciò che mi ha salvato:

sudo apt-get install libmysqlclient-dev 

mysql_config accompagna il pacchetto.

2

ho dovuto fare questo:

pip install mysql-python 

all'interno del virtualenv

8

Quando si effettua in un virtualenv:

pip install MySQL-python 

ho avuto

EnvironmentError: mysql_config not found 

Per installare mysql_config, come Artem Fedo sov ha detto, prima installare

sudo apt-get install libmysqlclient-dev 

poi tutto funziona bene in virtualenv

+1

Questa è la migliore risposta per me, stavo correndo nell'errore 'mysql_config' con la risposta accettata –

2

I comandi sono sempre eseguiti in ubuntu:

easy_install -U distribute 

tardi

sudo apt-get install libmysqlclient-dev 

e infine

pip install MySQL-python 
2

Le soluzioni proposte non hanno funzionato per me, perché ho ancora errori di compilazione dopo l'esecuzione

`$ sudo apt-get install libmysqlclient-dev` 

così ho dovuto correre

apt-get install python-dev 

Poi tutto ha funzionato bene per me con

apt-get install python-dev 
2

Il driver MySQL per Python (mysql-python) richiede libmysqlclient-dev. Si può ottenere con:

sudo apt-get update 
sudo apt-get install libmysqlclient-dev 

Se python-dev non è installato, potrebbe essere necessario installare anche:

sudo apt-get install python-dev 

ora che è possibile installare MySQL conducente:

pip install mysql-python 

Ecco una documentazione più dettagliata per MySQL in Django:

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

+0

il collegamento non funziona più – cwhisperer

Problemi correlati