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)
Después de probar muchas sugerencias, simplemente el uso de sudo apt-get install python-mysqldb
funcionó para mí.
Más información: Cómo obtener "Error al cargar el módulo MySQLdb: Ningún módulo llamado MySQLdb" - ha intentado soluciones publicadas anteriormente
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)