【问题标题】:MySQLdb within python2.5 virtualenvpython2.5 virtualenv中的MySQLdb
【发布时间】:2011-01-19 06:12:37
【问题描述】:

我有一个带有 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 安装为本地包(本地到 virtual-env)。

虚拟环境中的“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.马克,

如果我要安装 MySQL 头文件,它们会与现有的 rpm 混淆吗?

[对不起,多余。本质上,MySQL 是在机器上运行的,MySQL-python 对于 python 2.6 是运行的,但是 MySQL-python 在 vi​​rtualenv 对于 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

【问题讨论】:

  • 我们是否应该猜测 what 错误?
  • 没有错误就不可能猜到哪里出了问题

标签: python mysql virtualenv


【解决方案1】:
_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

【讨论】:

  • 只是提到其他可能也会在这里结束的人。
【解决方案2】:

有效!感谢您的所有帮助。

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

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

谢谢。

【讨论】:

  • 很高兴它成功了。你应该给那些帮助你一些+1业力的人,这是stackoverflow的方式。 :)
【解决方案3】:

只是提到其他可能也会在这里结束的人,

我在安装mysql-devel时解决了这个错误

$ yum install mysql-devel.x86_64 

希望对你有帮助

【讨论】:

    【解决方案4】:

    如果安装 mysql-devel 包后仍然无法使用,请检查“/usr/include/mysql”的内容。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2011-04-07
      • 1970-01-01
      • 2011-06-24
      • 2017-03-01
      • 2012-11-26
      • 2018-07-15
      • 2020-06-08
      • 1970-01-01
      • 2018-11-27
      相关资源
      最近更新 更多