2009-09-19 10 views
40

Sto cercando di installare il pacchetto MySQLdb. Ho trovato il codice sorgente here.Come installare il pacchetto MySQLdb? (ImportError: nessun modulo denominato setuptools)

ho fatto la seguente:

gunzip MySQL-python-1.2.3c1.tar.gz 
tar xvf MySQL-python-1.2.3c1.tar 
cd MySQL-python-1.2.3c1 
python setup.py build 

Come risultato ho ottenuto il seguente:

Traceback (most recent call last): 
    File "setup.py", line 5, in ? 
    from setuptools import setup, Extension 
ImportError: No module named setuptools 

Fa qualcuno sa come risolvere questo problema? A proposito, se sono in grado di fare il passo descritto, ho bisogno di fare quanto segue:

sudo python setup.py install 

e non ho system-amministratore-diritti. Ho ancora la possibilità di installare MySQLdb?

Grazie.

+5

È necessario ottenere setuptools. Vedi: http://pypi.python.org/pypi/setuptools – Seth

risposta

16

Se MySQLdb di oggi distribuiti in un modo che richiede setuptools, le scelte sono o scaricare questi ultimi (ad esempio da here) o refactoring setup.py di MySQLdb per bypassare setuptools (forse solo l'importazione setup e Extension dalla pianura distutils invece potrebbe funzionare , ma potrebbe anche essere necessario modificare alcuni dei file setup_*.py nella stessa directory).

A seconda di come è configurata l'installazione Python del tuo sito, l'installazione di estensioni per uso personale senza richiedere i diritti di sysadm può essere difficile, ma non è mai veramente impossibile se si ha accesso alla shell. Dovrai modificare il tuo sys.path di Python per iniziare con una tua directory che è il tuo equivalente personale della directory dei pacts dei siti a livello di sistema, ad es. impostando persistentemente il PYTHONPATH nel proprio ambiente e quindi inserendo manualmente in detta directory personale quali normali installazioni verranno normalmente collocate nei pacchetti del sito (e/o sottodirectory di tali).

5

Questo è stato un po 'complicato anche per me, ho fatto la seguente cosa che ha funzionato molto bene.

  • Scaricare il .egg Python appropriato per setuptools (vale a dire, per Python 2.6, si può ottenere here Prendete quella corretta dal sito PyPI here..)
  • chmod l'uovo di essere eseguibile: chmod a+x [egg] (vale a dire, per Python 2.6, chmod a+x setuptools-0.6c9-py2.6.egg)
  • Run ./[egg] (vale a dire, per Python 2.6, ./setuptools-0.6c9-py2.6.egg)

Non sono sicuro se avrete bisogno di usare sudo se si sta semplicemente installando i t per te utente corrente. Ne avresti sicuramente bisogno per installarlo per tutti gli utenti.

2
#!/usr/bin/env python 

import os 
import sys 
from **distutils.core** import setup, Extension 

if sys.version_info < (2, 3): 
    raise Error("Python-2.3 or newer is required") 

if os.name == "posix": 
    from setup_posix import get_config 
else: # assume windows 
    from setup_windows import get_config 

metadata, options = get_config() 
metadata['ext_modules'] = [Extension(sources=['_mysql.c'], **options)] 
metadata['long_description'] = metadata['long_description'].replace(r'\n', '') 
setup(**metadata) 
1

Inoltre, è possibile vedere le dipendenze di compilazione nel file setup.cfg

11

Ho risolto questo problema in centos5.4 eseguendo il seguente comando per installare setuptools

yum install python-setuptools

Spero che questo aiuti.

+1

mi ha aiutato su CentoOS! Grazie ! –

1

sto vivendo lo stesso problema in questo momento. Secondo this post è necessario avere un compilatore C o GCC. Cercherò di risolvere il problema installando il compilatore C. Ti informerò se funziona (supporterò che non ne hai più bisogno, ma posterò comunque il risultato) :)

0

Quando hai bisogno di installare i moduli in Linux/Unix e ti manca diritti sudo/admin, un modo semplice per utilizzare l'installazione dello schema utente, in pratica eseguire

"python setup.py install --user" dalla riga di comando nella cartella del modulo/libreria da installare

(vedi http://docs.python.org/install/index.html per ulteriori dettagli)

1

così l'installazione del compilatore C o GCC non ha funzionato, ma ho trovato un modo per installare con successo il mio pacchetto sqldb

seguire gentilmente le istruzioni di Mike schrieb (Grazie a lui) here. Nel mio caso, ho usato setuptools-0.6c11-py2.7.egg e setuptools-0.6c11. Quindi scaricare il file eseguibile here quindi installare il file. Spero che aiuta :)

5

@Main:

$ su 
$ yum install MySQL-python 

e sarà installato (MySQLdb).

2

Per Python 2.7, si può facilmente installare usando questo

apt-get install python2.7-mysqldb

Problemi correlati