para mysqldb python mysql installation

python - mysqldb - pip install mysql connector



¿Cómo instalar el paquete MySQLdb?(ImportError: ningún módulo llamado setuptools) (11)

@principal:

$ su $ yum install MySQL-python

y se instalará (MySQLdb).

Estoy tratando de instalar el paquete MySQLdb. Encontré el código fuente here .

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 resultado obtuve lo 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 resolver este problema? Por cierto, si puedo hacer el paso descrito, tendré que hacer lo siguiente:

sudo python setup.py install

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

Gracias.


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


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

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

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



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

  • Descargue el .egg de Python apropiado para setuptools (es decir, para Python 2.6, puede obtenerlo here . Tome el correcto del sitio de PyPI pypi.python.org/pypi/setuptools ).
  • chmod el huevo para ser ejecutable: chmod a+x [egg] (es decir, para Python 2.6, chmod a+x setuptools-0.6c9-py2.6.egg )
  • Ejecute ./[egg] (es decir, para Python 2.6, ./setuptools-0.6c9-py2.6.egg )

No estoy seguro de si necesitará usar sudo si solo lo está instalando para su usuario actual. Definitivamente lo necesitarías para instalarlo para todos los usuarios.


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


Para Python 2.7, uno puede instalar fácilmente usando esto

apt-get install python2.7-mysqldb


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

yum install python-setuptools

Espero que eso ayude.


Si MySQLdb ahora se distribuye de una manera que requiere setuptools , sus opciones son descargar el último (por ejemplo, desde pypi.python.org/pypi/setuptools ) o refactorizar setup.py de MySQLdb para eludir las setuptools (tal vez solo importar la setup y la Extension desde distutils simples en distutils lugar podría funcionar, pero puede también es necesario 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 al shell. Tendrá que modificar su sys.path de Python para comenzar con un directorio propio que sea su equivalente personal al directorio de pacages de sitio de todo el sistema, por ejemplo, estableciendo PYTHONPATH persistentemente en su propio entorno, y luego ubíquelo manualmente en dicho directorio personal qué instalaciones normales normalmente se ubicarían en paquetes de sitio (y / o subdirectorios de los mismos).


bueno, la instalación del compilador de C o GCC no funcionó, pero encontré la manera de instalar con éxito el paquete mysqldb

amablemente siga 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 luego instale ese archivo. Espero eso ayude :)


#!/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)