Python2.5虚拟环境中的MySQLdb
我有一台运行 Fedora 11 的电脑,上面装了 MySQL 服务器。Fedora 11 内部使用的是 python 2.6,并且这个版本的 python 会自动安装在电脑上。我为版本 2.5.5 创建了一个 python 虚拟环境,这样我就可以运行 turbogears 1.x 的应用程序。我在电脑上安装了 MySQLdb 的 rpm 包(在 python 2.6 下运行得很好)。
当我在 python 2.6 中导入 MySQLdb 时,它可以成功导入。但是当我在 python 2.5.5 的虚拟环境中导入 MySQLdb 时,就失败了(因为我在安装虚拟环境时使用了 --no-site-packages 选项)。所以,我必须在虚拟环境中作为本地包安装 MySQLdb。
在虚拟环境中使用 'easy_install MySQL-python' 会失败。它下载了 MySQL-python-1.2.3.c1.tar.gz,但在执行 'python setup.py build' 时出错。即使在虚拟环境外部构建 MySQL 时也会出现同样的问题。
‘python setup.py build’ 是不是在尝试链接某个库?我是不是缺少了某个库?或者下载的代码缺少一些头文件(这不太可能)?
谢谢。
S.Mark,
如果我安装 MySQL 的头文件,会不会影响现有的 rpm 包?
[抱歉,重复了。简单来说,MySQL 在机器上是可以正常工作的,MySQL-python 在 python 2.6 下也能正常使用,但在 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 个回答
我想提醒一下可能会来到这里的其他人,
我解决了在安装mysql-devel时遇到的这个错误
$ yum install mysql-devel.x86_64
希望这对你们有帮助
有效!感谢大家的帮助。
我在机器上安装了mysql-devel这个包(用命令yum install mysql-devel)。
然后在虚拟环境中(python 2.5.5)运行了easy_install MySQL-python,编译和安装都成功了(虽然有一些警告)。
谢谢。
_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的头文件,可能可以在这里找到。