“无法打开包含文件:‘配置-win.h’:没有这样的文件或目录”,同时安装MySQL的Python“

2019-05-08 21:01发布

我试图在Windows上使用PIP一个virtualenv中安装mysql-蟒蛇。 起初,我得到了同样的错误这里报告 ,但得到的答复对我有太多的工作。 现在,我得到这个以下错误:

_mysql.c(34) : Fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

如果我的符号链接(Win7的)我经常(不是virtualenv中的)的python的site-packages / MySQLdb的目录,我得到

Error loading MySQLdb module: No module named _mysql

我宁愿在这里损失。 任何指针?

Answer 1:

Update for mysql 5.5 and config-win.h not visible issue

In 5.5 config-win. has actually moved to Connector separate folder in windows. i.e. smth like:

C:\Program Files\MySQL\Connector C 6.0.2\include

To overcome the problem one need not only to download "dev bits" (which actually connects the connector) but also to modify mysqldb install scripts to add the include folder. I've done a quick dirty fix as that.

site.cfg:

# Windows connector libs for MySQL.
connector = C:\Program Files\MySQL\Connector C 6.0.2

in setup_windows.py locate the line

include_dirs = [ os.path.join(mysql_root, r'include') ]:

and add:

include_dirs = [ os.path.join(options['connector'], r'include') ]

after it.

Ugly but works until mysqldb authors will change the behaviour.


Almost forgot to mention. In the same manner one needs to add similar additional entry for libs:

library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]

i.e. your setup_windows.py looks pretty much like:

...
library_dirs = [ os.path.join(mysql_root, r'lib\opt') ]
library_dirs = [ os.path.join(options['connector'], r'lib\opt') ]
libraries = [ 'kernel32', 'advapi32', 'wsock32', client ]
include_dirs = [ os.path.join(mysql_root, r'include') ]
include_dirs = [ os.path.join(options['connector'], r'include') ]
extra_compile_args = [ '/Zl' ]
...


Answer 2:

我所要做的就是去到Oracle和下载MySQL插头C 6.0.2( 更新不工作!),并做了典型安装。

https://downloads.mysql.com/archives/cc/

一定要包括通过自定义安装所有选装件(额外的二进制文件),没有这些就没有为win64.msi工作

这项工作完成,我走进pycharms,并选择了MySQL的Python> = 1.2.4包安装,和它的工作很大。 无需更新任何配置或类似的东西。 这是最简单的版本,我工作过。

希望能帮助到你



Answer 3:

接受的解决方案似乎不再对MySQL的Python的新版本。 安装程序不再提供site.cfg文件进行编辑。

如果您所安装的MySQL,蟒蛇,它会查找C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include 。 如果你有一个64位安装的MySQL,你可以简单地调用:

  1. mklink /d "C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" "C:\Program Files\MySQL\MySQL Connector C 6.0.2\include"
  2. 运行pip install mysql-python
  3. 删除在步骤1中创建符号链接


Answer 4:

接受的答案是过时的。 有些建议在包已经成立,而我仍然得到关于失踪的配置,win.h&mysqlclient.lib错误。

  • 安装MySQL的连接器-C-6.0.2-win32.msi

    还有的conenctor一个zip文件太多,但没有奏效,因为mysqlclient.liblib目录,而安装程序预计它lib/opt 。 相反黑客site.cfg或setup_windows.py的,微星做这项工作。

  • PIP安装mysql-蟒蛇

PS因为我不使用MySQL了,我的答案可能是过时的为好。



Answer 5:

我知道这个帖子是超级老了,但它仍然是即将到来的顶部砸在谷歌,所以我会加入一些对这个问题的详细信息。

我也有同样的问题,OP,但没有建议的答案似乎为我工作。 主要是因为“配置 - win.h”不存在于任何地方连接器安装文件夹。

我用的是最新的插头C 6.1.6因为这是什么由MySQL安装建议。

然而,这似乎并没有在最新的MySQL-Python包(1.2.5)的支持。 当试图安装它,我可以看到,它明确地寻找C连接器6.0.2。

"-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include"

因此,从安装此版本https://dev.mysql.com/downloads/file/?id=378015没有任何问题安装Python包。



Answer 6:

最有可能的答案是配置过程中安装MySQL的开发人员版本,然后选择“C头文件\库”选项。 (如报告这个条目:建筑MySQLdb的用于Windows上的Python上rationalpie.wordpress.com)

也许更好的解决办法是安装预编译编译: http://www.technicalbard.com/files/MySQL-python-1.2.2.win32-py2.6.exe



Answer 7:

如果PIP无法安装“MySQLdb的”,解决方法是下载和你的机器上,从这个链接先安装它

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

然后从你的系统的Python所有的MySQL *和* _mysql文件和目录复制到您的virtualenv目录:

c:\Python27\Lib\site-packages (或类似的路径,以系统的Python)到c:\my_virtenv\Lib\site-packages (路径到您的virtualenv)



Answer 8:

好吧,如果你仍然有问题,你可以从安装http://code.google.com/p/soemin/downloads/detail?name=MySQL-python-1.2.3.win32-py2.7。可执行程序



Answer 9:

我有很多性头痛MySQLdb的了。

为什么不使用MySQL官方Python的连接器?

easy_install mysql-connector-python

:或者你可以从这里下载http://dev.mysql.com/downloads/connector/python/

文档: http://dev.mysql.com/doc/refman/5.5/en/connector-python.html



Answer 10:

为MySQL安装dev的位摆脱了的config-win.h我有错误,并投掷了另一个。 Failed to load and parse the manifest. The system cannot find the file specified. 我找到了答案,我在这个岗位问题: http://www.fuyun.org/2009/12/install-mysql-for-python-on-windows/ 。

我复制文件“C:\ Python26 \ LIB \的distutils \ msvc9compiler.py`到我的virtualenv,所做的编辑在上面的链接提示,事情正在罚款。



Answer 11:

最简单有效的解决方案:

从下面的链接下载MySQL插头C 6.0.2和安装。

http://dev.mysql.com/downloads/connector/c/6.0.html#downloads

到 “C:\ Program Files文件(x86)的\ MySQL的”:安装MySQL的插头C 6.0.2后,从 “\ Program Files文件\ MySQL的C” 复制文件夹 “MySQL的插头C 6.0.2”。

然后输入

pip install MySQL-python

这肯定会工作。



Answer 12:

\ Program Files文件\的MySQL \ MySQL连接:就我而言,我的修补程序是从复制使用mysql-connector-C-6.0.2-win32.msi创建的文件夹,它位于c(从用户名缓冲区在以前的文章中引用) ç6.0.2和创建与程序文件(x86)的新路径和粘贴内容有因为安装不正确的32位和64位机之间的检查。

因此,新的路径是C:\ Program Files文件(x86)的\ MySQL的\ MySQL的插头C 6.0.2。 这是安装程序正在寻找路径,所以我粘贴的文件有帮助安装程序找到文件,这是造成失踪的配置,win.h错误



Answer 13:

尝试ActivePython的 ,

pypm -E C:\myvirtualenv install mysql-python


Answer 14:

我也跟着从Bugagotti的答案,这并不在我的Windows的MySQL的Python-1.2.5工作(Win7的64位,py27和MySQL连接器6.1安装有),所以我做的mysql-python-里面有的甚至肮脏的变化1.2.5:

首先,site.cfg:

connector = C:\Program Files\MySQL\MySQL Connector C 6.1

二,_mysql.c:

#if defined(MS_WINDOWS)
#include <config-win.h>
#else
#include "my_config.h"
#endif

至:

#if 0 /*defined(MS_WINDOWS)*/
#include <config-win.h>
#else
#include "my_config.h"
#endif

而随着这些变化,config_win.h问题将消失,但仍有一个链接的问题:

LINK : fatal error LNK1181: cannot open input file 'mysqlclient.lib'

对于这一点,我改变了setup_windows.py:

library_dirs = [ os.path.join(connector, r'lib\vs9') ]  ## the original value was r'lib\opt'

然后,它的工作最后。



Answer 15:

我跟着明才沉的方法。

但对我来说,我改变了连接器

connector = C:\Program Files\MySQL\MySQL Connector.C 6.1

而library_dirs改为

library_dirs = [ os.path.join(connector, r'lib\vs10') ]

因为我没有vs9目录。 它的工作原理,但我不知道为什么

我已经安装了vs2012,以及连接器的lib目录中只有vs10vs11 ,其中vs11不起作用。 我安装了VCForPyhton27.mis似乎支持vs9

无论如何,这个工程。 如果你想冒这个险,你可以试试。



Answer 16:

为我工作的解决方案Windows :同时安装32位和64个版本的MySQL连接/ C 6.0.2 。 打开Command Prompt并运行:

pip install mysql-python


Answer 17:

对我来说,下面的方法来解决这个问题(Python的3.5.2,1.3.9的mysql):

  1. 下载中心最新的MySQL C连接http://dev.mysql.com/downloads/connector/c/ (对我来说是的Windows(x86和64位),MSI安装程序)
  2. 复制c:\Program Files\MySQL\MySQL Connector C 6.0.2\目录c:\Program Files (x86)\MySQL\MySQL Connector C 6.1\
  3. 运行pip install mysqlclient
  4. [可选]删除c:\Program Files (x86)\MySQL\MySQL Connector C 6.1\

这里的问题是仅适用于64位安装的业主,因为构建脚本试图找到C连接器包括86程序文件目录。



Answer 18:

building '_mysql' extension
creating build\temp.win-amd64-2.7
creating build\temp.win-amd64-2.7\Release
C:\Users\TimHuang\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dversion_info=(1,2,5,'final',1) -D__version__=1.2.5 "-IC:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" -Ic:\python27\include -Ic:\python27\PC /Tc_mysql.c /Fobuild\temp.win-amd64-2.7\Release\_mysql.obj /Zl
_mysql.c
_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory

如果你看到这个当您尝试pip install mysql-python ,最简单的方法是复制

C:\Program Files\MySQL\MySQL Connector C 6.0.2C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2

我试图创建符号链接但Windows不断抛出我的C:\WINDOWS\system32>mklink /d "C:\Program Files (x86)\MySQL\MySQL Connector C 6.0.2\include" "C:\Program Files\MySQL\MySQL Connector C 6.0.2\include" The system cannot find the path specified.



Answer 19:

如果你是在一个虚拟的环境中进行,这是否使用Visual Studio或其他方式,尝试easy_install MySQL-python



Answer 20:

  1. 从这个下载

    • Python 2.7版: https://pypi.python.org/pypi/mysqlclient/1.3.9
    • Python的3.6: https://pypi.python.org/pypi/mysqlclient
  2. 然后安装此WHL通过PIP安装程序。 Shift +右键点击下载中的文件夹,并选择Open powershell here 。 然后安装使用命令: pip install package_name.whl



Answer 21:

从下载连接器的版本https://dev.mysql.com/downloads/connector/c/6.0.html对于我来说,我已经安装了64位连接器和我的蟒蛇为32位。 因此,我不得不从程序文件程序文件复制的MySQL(86)



Answer 22:

为Window10步骤:

  • 转到https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
  • 根据Python版本和硬件规格下载合适的版本:我的情况, mysqlclient‑1.4.2‑cp37‑cp37m‑win32.whl适用于python3.7和英特尔CPU。
  • 当你的ENV仍激活,进入下载文件夹,运行pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl


文章来源: “Cannot open include file: 'config-win.h': No such file or directory” while installing mysql-python