2010-12-07 14 views
16

Estoy tratando de instalar MySQL-python lib en centos 5.5. CorríInstalación de mysql-python en Centos

sudo yum install MySQL-python 

pero luego cuando intenté:

import MySQLdb 

me sale este error:

Traceback (most recent call last): 
    File "<stdin>", line 1, in ? 
    File "MySQLdb/__init__.py", line 22, in ? 
    raise ImportError("this is MySQLdb version %s, but _mysql is version %r" % 
ImportError: this is MySQLdb version (1, 2, 3, 'final', 0), \ # added linebreak 
but _mysql is version (1, 2, 1, 'final', 1) 

ninguna pista sobre cómo solucionar este problema?

Respuesta

3

Probablemente no instaló MySQL vía yum? La versión de MySQLDB en el repositorio está vinculada a la versión de MySQL en el repositorio. Las versiones deben coincidir.

Las opciones son:

  1. instalar la versión RPM de MySQL.
  2. Compila MySQLDB a tu versión de MySQL.
+0

bastante seguro de que se ha instalado MySQL a través de yum, pero eso fue hace algún tiempo por lo que no soy positivo. Podría ir y desinstalarlo ahora, luego volver a instalarlo a través de yum para ver si eso soluciona el problema. –

+0

Acabo de intentar reinstalar mysql, mysqlserver y mysqldb de yum, pero todavía tengo el mismo mensaje de error. Voy a probar tu segunda solución ahora. –

+0

Reconstruido MySQL-python-1.2.3 desde el origen y ahora en funcionamiento. –

27

Paso 1 - Instalar paquete

# yum install MySQL-python 
Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit 
Setting up Install Process 
Resolving Dependencies 
--> Running transaction check 
---> Package MySQL-python.i686 0:1.2.3-3.fc15 will be installed 
--> Finished Dependency Resolution 

Dependencies Resolved 

================================================================================ 
Package    Arch   Version     Repository  Size 
================================================================================ 
Installing: 
MySQL-python   i686   1.2.3-3.fc15   fedora   78 k 

Transaction Summary 
================================================================================ 
Install  1 Package(s) 

Total download size: 78 k 
Installed size: 220 k 
Is this ok [y/N]: y 
Downloading Packages: 
Setting up and reading Presto delta metadata 
Processing delta metadata 
Package(s) data still to download: 78 k 
MySQL-python-1.2.3-3.fc15.i686.rpm      | 78 kB  00:00  
Running rpm_check_debug 
Running Transaction Test 
Transaction Test Succeeded 
Running Transaction 
    Installing : MySQL-python-1.2.3-3.fc15.i686        1/1 

Installed: 
    MySQL-python.i686 0:1.2.3-3.fc15            

Complete! 

Paso 2 - Test de trabajo

import MySQLdb 
db = MySQLdb.connect("localhost","myusername","mypassword","mydb") 
cursor = db.cursor() 
cursor.execute("SELECT VERSION()") 
data = cursor.fetchone()  
print "Database version : %s " % data  
db.close() 

Ouput:

Database version : 5.5.20 
11

Tengo Python 2.7.5, MySQL 5.6 y CentOS 7.1.1503.

Para mí trabajaron con el siguiente comando:

# pip install mysql-python 

Nota pre-requisitos aquí:

instalar Python pip:

# rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm 

# yum -y update 
Reboot the machine (if kernel is also updated) 

# yum -y install python-pip 

Instalar paquetes de desarrollo de Python:

# yum install python-devel 

Instalar paquetes de desarrollo de MySQL:

# yum install mysql-devel 
+1

, también debe instalar gcc con 'yum install gcc' – 0xAffe