MySQLdb在python2.5 virtualenv中

时间:2010-02-21 02:28:11

标签: python mysql virtualenv

我有一个带有MySQL服务器的Fedora 11盒子。 Fedora 11在内部使用python 2.6,并且盒子上自动安装了python 2.6。我已经为2.5.5版本创建了一个python virtual-env,这样我就可以运行turbogears 1.x应用程序了。我在盒子上安装了MySQLdb rpm(它与python 2.6配合使用)。

当我从python 2.6版本中导入MySQLdb时,导入成功。当我从python 2.5.5 virtual-env中导入MySQLdb时导入失败(因为我已经安装了带有--no-site-packages的virtual-env)。所以,我必须安装MySQLdb python作为本地包(虚拟环境本地)。

虚拟环境中的'easy_install MySQL-python'失败了。它下载了MySQL-python-1.2.3.c1.tar.gz / download,但'python setup.py build'失败并出现错误。在virtual-env之外构建MySQL时会出现同样的问题。

用于MySQL-python的'python setup.py build'试图链接到一个库(我错过了一些库)吗?或者下载的代码是否缺少一些头文件(不太可能)?

感谢。


S.Mark,

如果我要安装MySQL头文件,他们会不会使用现有的rpms?

[抱歉,因为多余。本质上,MySQL在机器上运行,MySQL-python适用于python 2.6,但是MySQL-python在virtualenv for python 2.5.5中不起作用。]

感谢您尝试提供帮助。

# 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

4 个答案:

答案 0 :(得分: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

请安装MySQL头文件,可能是here

答案 1 :(得分:1)

作品!谢谢你的帮助。

我在盒子上安装了mysql-devel包(yum install mysql-devel)。

然后在virtual-env(python 2.5.5)中执行easy_install MySQL-python,并且编译/安装成功(带有一些警告)。

感谢。

答案 2 :(得分:0)

仅提及可能最终会出现的其他人,

我在安装mysql-devel

时解决了这个错误
$ yum install mysql-devel.x86_64 

希望这有帮助

答案 3 :(得分:0)

如果在安装mysql-devel软件包后它仍无法工作,请检查“/ usr / include / mysql”的内容。

如果为空则可能是mysql-devel已经在某个地方安装了头文件,运行以下命令来查找

  

找到/ usr / include / -maxdepth 1 -name mysql *

如果找到,请创建如下的符号链接以解决问题。

  

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