2010-02-21 5 views
3

J'ai une boîte Fedora 11 avec serveur MySQL. Fedora 11 utilise python 2.6 en interne et python 2.6 est automatiquement installé sur la boîte. J'ai créé un python virtual-env pour la version 2.5.5, afin que je puisse exécuter l'application 1.x turbogears. J'ai MySQLdb rpm installé sur la boîte (et cela fonctionne très bien avec python 2.6).MySQLdb dans python2.5 virtualenv

Lorsque j'importe MySQLdb à partir de Python version 2.6, l'importation est réussie. Lorsque j'importe MySQLdb depuis l'environnement virtuel python 2.5.5, l'importation échoue (parce que j'ai installé virtual-env avec --no-site-packages). Donc, je dois installer MySQLdb python comme un paquet local (local à virtual-env).

'easy_install MySQL-python' dans l'environnement virtuel échoue. Il télécharge le fichier MySQL-python-1.2.3.c1.tar.gz/download, mais le 'python setup.py build' échoue avec une erreur. Le même problème se produit lors de la construction de MySQL en dehors de virtual-env.

Est-ce que 'python setup.py build' pour MySQL-python tente de se lier à une bibliothèque (et est-ce qu'il me manque une bibliothèque)? Ou le code téléchargé manque-t-il des fichiers d'en-tête (peu probable)?

Merci.


Saint Marc,

Si je devais installer les fichiers d'en-tête MySQL, seraient-ils mess avec les rpms existants?

[Désolé, pour être redondant. En substance, MySQL est fonctionnel sur la machine, MySQL-python est fonctionnel pour python 2.6, mais MySQL-python n'est pas fonctionnel depuis virtualenv pour python 2.5.5.]

Merci d'avoir essayé de nous aider.

# rpm -qa | grep -i mysql 
MySQL-python-1.2.3-0.4.c1.fc11.x86_64 
perl-DBD-MySQL-4.010-1.fc11.x86_64 
mysql-libs-5.1.42-7.fc11.x86_64 
mysql-5.1.42-7.fc11.x86_64 
php-mysql-5.2.12-1.fc11.x86_64 
mysql-server-5.1.42-7.fc11.x86_64 
+1

Sommes-nous censés deviner * ce * erreur? –

+0

Sans l'erreur il est impossible de deviner ce qui pourrait avoir mal tourné – thetaiko

Répondre

6
_mysql.c:36:23: error: my_config.h: No such file or directory 
_mysql.c:38:19: error: mysql.h: No such file or directory 
_mysql.c:39:26: error: mysqld_error.h: No such file or directory 
_mysql.c:40:20: error: errmsg.h: No such file or directory 

S'il vous plaît installer les fichiers d'en-tête MySQL, probablement here

+0

Juste pour mentionner les autres qui pourraient finir ici aussi. – jlengrand

1

Works! Merci pour votre aide.

J'ai installé le paquet mysql-devel (yum install mysql-devel) sur la boîte.

Puis easy_install MySQL-python depuis virtual-env (python 2.5.5), et la compilation/installation a réussi (avec quelques avertissements).

Merci.

+1

heureux que cela a fonctionné. vous devriez donner à ceux qui vous ont aidé un karma +1, c'est la façon stackoverflow. :) –

0

Juste parler pour les autres qui pourraient finir ici aussi,

Je résolu cette erreur dans l'installation mysql-devel

$ yum install mysql-devel.x86_64 

Hope this helps

0

Dans le cas où il ne fonctionne pas même après avoir installé le paquet mysql-devel, vérifiez le contenu de "/ usr/include/mysql".

Si est vide, il est possible que mysql-devel a installé les fichiers d'en-tête à un endroit pther, exécutez la commande suivante pour trouver

find/usr/include/-maxdepth 1 -nom mysql *

Si trouvé, créez un lien symbolique comme suit pour résoudre le problème.

ln -s/usr/include/mysql51/usr/include/mysql