2009-09-19 27 views
40

Estoy tratando de instalar el paquete MySQLdb. Encontré el código fuente here.¿Cómo instalar el paquete MySQLdb? (ImportError: Ningún módulo llamado setuptools)

hice lo siguiente:

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 

Como el resultado que obtuve el siguiente:

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

¿Alguien sabe cómo solucionar este problema? Por cierto, si soy capaz de hacer el paso descrito, que tendrá que hacer lo siguiente:

sudo python setup.py install 

Y no tengo del administrador del sistema de derechos. ¿Todavía tengo la oportunidad de instalar MySQLdb?

Gracias.

+5

Usted necesita obtener setuptools. Ver: http://pypi.python.org/pypi/setuptools – Seth

Respuesta

16

Si de MySQLdb ahora distribuidos de una manera que requiere setuptools, sus opciones son o bien para descargar la última (por ejemplo, de here) o refactorizar setup.py de MySQLdb para eludir setuptools (tal vez sólo la importación de setup y Extension de llanura distutils vez podría funcionar , pero también puede necesitar editar algunos de los archivos setup_*.py en el mismo directorio).

Dependiendo de cómo esté configurada la instalación de Python de su sitio, la instalación de extensiones para su propio uso individual sin requerir derechos de sysadm puede ser difícil, pero nunca es realmente imposible si tiene acceso de shell. Tendrás que ajustar tu sys.path de Python para comenzar con un directorio propio que sea tu equivalente personal al directorio de pacages de sitio del sistema, p. estableciendo PYTHONPATH persistentemente en su propio entorno, y luego coloque manualmente en dicho directorio personal lo que las instalaciones normales normalmente colocarían en paquetes de sitio (y/o subdirectorios de los mismos).

5

Esto fue un poco complicado para mí también, hice lo siguiente, que funcionó bastante bien.

  • Descargar el .egg Python apropiado para setuptools (es decir, para Python 2.6, lo puede conseguir here Coge la correcta desde el sitio PyPI here..)
  • chmod el huevo debe ser ejecutable: chmod a+x [egg] (es decir, para Python 2.6, chmod a+x setuptools-0.6c9-py2.6.egg)
  • ./[egg] Run (es decir, para Python 2.6, ./setuptools-0.6c9-py2.6.egg)

No está seguro de si será necesario utilizar sudo si acaba de instalar i t para su usuario actual. Definitivamente lo necesitarías para instalarlo para todos los usuarios.

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

Además, se puede ver las dependencias de compilación en el archivo setup.cfg

11

resolví este problema en centos5.4 ejecutando el siguiente comando para instalar setuptools

yum install python-setuptools

Espero que ayude.

+1

me ayudó en CentoOS! Gracias ! –

1

estoy experimentando el mismo problema en este momento. De acuerdo con this post, necesita tener un C Compiler o GCC. Intentaré solucionar el problema instalando el compilador de C Le informaré si funciona (supongo que ya no lo necesita, pero publicaré el resultado de todos modos) :)

0

Cuando necesite instalar módulos en Linux/Unix y le falte derechos de sudo/admin, una forma simple de hacerlo es usar la instalación del esquema de usuario, básicamente ejecute

"python setup.py install --user" desde la línea de comandos en la carpeta del módulo/biblioteca que se instalará

(ver http://docs.python.org/install/index.html para más detalles)

1

así instalar el compilador de C o GCC no funcionaba, pero he encontrado una manera de instalar con éxito mi paquete sqldb

siga amablemente las instrucciones de Mike schrieb (Gracias a él) here. En mi caso, utilicé setuptools-0.6c11-py2.7.egg y setuptools-0.6c11. A continuación, descargue el archivo ejecutable here y luego instale ese archivo. espero que ayude :)

5

@main:

$ su 
$ yum install MySQL-python 

y se va a instalar (MySQLdb).

2

Para Python 2.7, se puede instalar fácilmente el uso de este

apt-get install python2.7-mysqldb

Cuestiones relacionadas