我正在尝试使用Easy_install安装mySQL-Python。它几乎立即失败:

_mysql.c:36:23:错误:my_config.h:没有这样的文件或目录
_mysql.c:38:19:错误:mysql.h:没有这样的文件或目录
_mysql.c:39:26:错误:mysqld_error.h:没有这样的文件或目录
_mysql.c:40:20:错误:errmsg.h:没有这样的文件或目录

它找不到标题。我已经安装了标题,它们只是从源 /opt中安装的。显然不是在那里。我该如何看待它?例如,如果这是配置,我可以做诸如“ - with-mysql =/opt/mysql”之类的事情。似乎没有easy_install的选项。仍在研究,如果我找到答案,我会在这里发布。

有帮助吗?

解决方案

这看起来更像是编译器搜索路径的问题,而不是Easy_install Issu。

在easy_install调用之前,设置Include路径环境变量可能会工作。

C_INCLUDE_PATH=/path/to/your/mysql/include/files easy_install intall MySQL-python

如果那不起作用,请尝试设置include_path或cplus_include_path变量。问题中没有足够的easy_install输出来判断正在使用什么编译器。

其他提示

easy_install 调用 setup.py, ,这将尊重 setup.cfg 在要安装的发行版中文件。尽管您无法指定setup.py选项 --include_dirs--library_dirs 直接到Easy_install,您可以将它们放入setup.cfg文件中。

我在Pysqlite上也有类似的问题:我将SQLite放在非标准位置,并希望使用Easy_install来获得Python绑定。 pysqlite分发包括一个设置.cfg文件,其中包含sample include_dirs和library_dirs指令,因此很明显该怎么办。

如果MySQL-Python有一个setup.cfg文件,则可以尝试添加 /编辑以包括:

[build_ext]
include_dirs = /path/to/headers
library_dirs = /path/to/libs

如果已经有一个 [build_ext] setup.cfg文件中的部分,添加到它而不是创建第二个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top