Estoy intentando pip install
el MySQL-python
paquete, pero obtengo un ImportError
.
Jans-MacBook-Pro:~ jan$ /Library/Frameworks/Python.framework/Versions/3.3/bin/pip-3.3 install MySQL-python
Downloading/unpacking MySQL-python
Running setup.py egg_info for package MySQL-python
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 16, in <module>
File "/var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python/setup.py", line 14, in <module>
from setup_posix import get_config
File "./setup_posix.py", line 2, in <module>
from ConfigParser import SafeConfigParser
ImportError: No module named 'ConfigParser'
----------------------------------------
Command python setup.py egg_info failed with error code 1 in /var/folders/lf/myf7bjr57_jg7_5c4014bh640000gn/T/pip-build/MySQL-python
Storing complete log in /Users/jan/.pip/pip.log
Jans-MacBook-Pro:~ jan$
¿Algunas ideas?
python
python-3.x
si __nombre__ es Ninguno
fuente
fuente
echo $PATH
diceRespuestas:
En Python 3, se le
ConfigParser
ha cambiado el nombreconfigparser
por cumplimiento de PEP 8. Parece que el paquete que está instalando no es compatible con Python 3.fuente
sudo python3 -m pip install mysql-connector
y ahora está funcionando. Gracias por la pista @LongmangEn su lugar, puede usar el
mysqlclient
paquete como un reemplazo directo para MySQL-python. Es una bifurcaciónMySQL-python
con soporte adicional para Python 3.Tuve suerte con simplemente
en mi python3.4 virtualenv después
que obviamente es específico de ubuntu / debian, pero solo quería compartir mi éxito :)
fuente
libpython3.5-minimal
paquete (sudo apt-get install libpython3.5-minimal
).Aquí hay un código que debería funcionar tanto en Python 2.xy 3.x
Obviamente necesitará el
six
módulo, pero es casi imposible escribir módulos que funcionen en ambas versiones sin seis.fuente
from six.moves import configparser
six.moves
es "proporcionar una interfaz coherente" a los módulos cambiado de nombre; envolver las importaciones con untry
/except
cuando se usasix
derrota el punto. Solo úsalofrom six.moves import configparser
. No es que se necesiten seis aquí; podría reemplazarfrom six.moves import configparser
conimport ConfigParser as configparser
en suexcept
bloque y lograr el mismo resultado sin necesidadsix
.six
solo un requisito para Python 2.X, pero no Python 3.X.six.moves
y el nombre nativo también se puede usar directamente para Python 2.Luego intente instalar el MYSQL-python nuevamente. Que funciono para mi
fuente
MySQL-python no es compatible con python3 en lugar de esto, puede usar mysqlclient
Si está en
fedora/centos/Red Hat
instalar el siguiente paqueteyum install python3-devel
pip install mysqlclient
fuente
Si está usando CentOS, entonces necesita usar
yum install python34-devel.x86_64
yum groupinstall -y 'development tools'
pip3 install mysql-connector
pip install mysqlclient
fuente
La compatibilidad de Python 2/3
configparser
se puede resolver simplemente con lasix
bibliotecafuente
Hacer
pip3 install PyMySQL
y luegopip3 install mysqlclient
. Trabajó para mifuente
Estaba teniendo el mismo problema. Resulta que necesitaba instalar python3 devel en mis centos. Primero, debe buscar el paquete que sea compatible con su sistema.
Luego, instale el paquete como:
Luego, instale mysqlclient desde pip
fuente
Llegué más lejos con la respuesta de Valeres:
Sugeriría vincular el archivo en lugar de copiarlo. Se guarda para actualizar. Enlacé el archivo al
/usr/lib/python3/
directorio.fuente
Prueba esta solución que funcionó bien para mí.
Básicamente es reinstalar / actualizar a la última versión de mysql desde brew , y luego instalar
mysqlclient
oMySQL-Python
desde englobal pip3
lugar devirtualenv pip3
.Luego, acceda a
virtualenv
e instale con éxitomysqlclient
oMySQL-Python
.fuente
¿Qué tal si compruebas la versión de Python que estás usando primero?
fuente
from six.moves import configparser
Ejecuté kali linux-Rolling y me encontré con este problema, cuando intenté ejecutar cupp.py en la terminal, después de actualizar a python 3.6.0. Después de algunas investigaciones y pruebas, descubrí que cambiar
ConfigParser
aconfigparser
funcionó para mí, pero luego me encontré con otro problema.config = configparser.configparser() AttributeError: module 'configparser' has no attribute 'configparser'
Después de investigar un poco más me di cuenta de que para Python 3
ConfigParser
se cambia aconfigparser
, pero nota que tiene un atributoConfigParser()
.fuente
Recibía el mismo error en Mac OS 10, Python 3.7.6 y Django 2.2.7. Quiero aprovechar esta oportunidad para compartir lo que funcionó para mí después de probar numerosas soluciones.
Pasos
Conector instalado / Python 8.0.20 para Mac OS desde el enlace
Copie las dependencias actuales en el archivo require.txt, desactivó el entorno virtual actual y lo eliminó usando;
crear el archivo si aún no se ha creado con;
touch requirements.txt
copiar dependencia al archivo;
python -m pip3 freeze > requirements.txt
desactivar y eliminar env virtual actual;
deactivate && rm -rf <virtual-env-name>
Creé otro entorno virtual y lo activé usando;
python -m venv <virtual-env-name> && source <virtual-env-name>/bin/activate
Instalar dependencias anteriores usando;
python -m pip3 install -r requirements.txt
fuente
Amablemente para ver lo que
/usr/bin/python
señalasi apunta a
python3 or higher
cambiar apython2.7
Esto debería resolver el problema.
Recibía un error de instalación para todos los paquetes de Python. La solución y la discusión de Abe Karplus me dieron una pista sobre cuál podría ser el problema. Luego recordé que había cambiado manualmente
/usr/bin/python
depython2.7
a/usr/bin/python3.5
, lo que en realidad estaba causando el problema. Una vez yoreverted
lo mismo. Se resolvió.fuente
MySQL-python
es excesivo; use la versión Python 3 de la biblioteca en su lugar.Esto funciono para mi
fuente