社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

通过pip install在python3.4.4上安装mysql时出现问题

krunal • 5 年前 • 2734 次点击  

我试图在windows上使用pip在virtualenv中安装mysql python。一开始,我也犯了同样的错误 reported here ,但答案对我也有用。现在我得到以下错误:

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

如果我将(win7)符号链接到我的常规(而不是virtualenv)python的站点包/mysqldb dir,我将得到

Error loading MySQLdb module: No module named _mysql

我在这里有点不知所措。有什么线索吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44364
 
2734 次点击  
文章 [ 22 ]  |  最新文章 5 年前
David P
Reply   •   1 楼
David P    6 年前

窗口10的步骤:

  • https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python
  • 根据python版本和硬件规格下载正确的版本:对于我的情况, mysqlclient‑1.4.2‑cp37‑cp37m‑win32.whl 适用于Python3.7和Intel CPU。
  • 当您的env仍处于激活状态时,转到下载文件夹并运行 pip install mysqlclient-1.4.2-cp37-cp37m-win32.whl
ishwar rimal
Reply   •   2 楼
ishwar rimal    6 年前

从下载连接器的版本 https://dev.mysql.com/downloads/connector/c/6.0.html 在我的例子中,我安装了64位连接器,而python是32位的。所以我不得不将mysql从程序文件复制到程序文件(86)

Jacky Pham
Reply   •   3 楼
Jacky Pham    7 年前
  1. 从这里下载

  2. 然后通过pip安装程序安装这个whl。按住shift键并右键单击下载的文件夹,然后选择 Open powershell here . 然后使用命令安装: pip install package_name.whl

Saher Ahwal
Reply   •   4 楼
Saher Ahwal    8 年前

如果在虚拟环境中执行此操作(无论是否使用Visual Studio),请尝试 easy_install MySQL-python

timbuntu2
Reply   •   5 楼
timbuntu2    6 年前
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.2 C:\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.

Dagaz
Reply   •   6 楼
Dagaz    8 年前

对我来说,以下方法解决了这个问题(python 3.5.2;mysqlclient 1.3.9):

  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:\程序文件(x86)\ MySQL\MySQL连接器C 6.1\

这里的问题仅适用于x64位安装所有者,因为生成脚本正试图在x86程序文件目录中找到c connector includes。

raul
Reply   •   7 楼
raul    8 年前

对我有用的解决方案 Windows :安装两个 32 -比特和 64 -位版本的 MySQL Connector/C 6.0.2 . 正常开放 Command Prompt 然后运行:

pip install mysql-python
zijuexiansheng
Reply   •   8 楼
zijuexiansheng    10 年前

我遵循沈明才的方法。

但在我的情况下,我把连接器改成了

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

图书馆的目录改成了

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

因为我没有 vs9 目录。有效,但是 我不知道为什么 .

我已经安装了vs2012,连接器的lib目录只有 vs10 vs11 其中 VS11 不起作用。我安装的vcforpyhton27.mis似乎支持 VS9 .

不管怎样,这是可行的。如果你想冒险,你可以试试。

Mingcai SHEN
Reply   •   9 楼
Mingcai SHEN    11 年前

我确实遵循了Bugagotti的答案,但在我的Windows(Win7 64位,Py27,并安装了MySQL连接器6.1)中mysql-python-1.2.5不起作用,所以我在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'

后来终于成功了。

Sridhar Ratnakumar
Reply   •   10 楼
Sridhar Ratnakumar    14 年前

尝试 ActivePython ,

pypm -E C:\myvirtualenv install mysql-python
Ryan
Reply   •   11 楼
Ryan    11 年前

在我的例子中,我的修复程序是复制从mysql-connector-c-6.0.2-win32.msi(在上一篇文章中从用户名缓冲区引用)创建的文件夹,该文件夹位于C:\ Program Files\mysql\mysql connector C 6.0.2,并创建一个带有程序文件(x86)的新路径,并将内容粘贴到那里,因为32位和64位计算机之间的安装检查不正确。

因此,新路径是c:\程序文件(x86)\ mysql\mysql连接器c 6.0.2。这是安装程序要查找的路径,因此我将文件粘贴到那里以帮助安装程序查找文件,这导致了有关缺少config win.h的错误。

Gil Baggio
Reply   •   12 楼
Gil Baggio    6 年前

最简单的工作解决方案:

下载 mysql连接器c 6.0.2 从下面链接并安装。

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

安装mysql connector c 6.0.2之后,将文件夹“mysql connector c6.0.2”从“c:\ program files\mysql”复制到“c:\ program files(x86)\ mysql”。

然后类型

pip install MySQL-python

一定会成功的。

saturdayplace
Reply   •   13 楼
saturdayplace    15 年前

安装dev bits for mysql去掉了 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中,在上面的链接中建议进行编辑,一切正常。

Yassine ElBadaoui
Reply   •   14 楼
Yassine ElBadaoui    12 年前

我和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

Ethan
Reply   •   15 楼
Ethan    13 年前
Dmitriy
Reply   •   16 楼
Dmitriy    11 年前

如果pip无法安装“mysqldb”,解决方法是首先从这个链接下载并安装到您的计算机上

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

然后将所有mysql*和mysql*文件和目录从系统python复制到virtualenv目录:

c:\Python27\Lib\site-packages (或类似于系统python的路径)到 c:\my_virtenv\Lib\site-packages (你的虚拟世界之路)

chodorowicz
Reply   •   17 楼
chodorowicz    15 年前

最可能的答案是安装mysql developer build并在配置期间选择“c headers\libs”选项。(如本文所述:在rationalpie.wordpress.com上的windows上构建mysqldb for python)

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

Jimmy
Reply   •   18 楼
Jimmy    8 年前

我知道这篇文章已经过时了,但它仍然是谷歌的头号热门,所以我会在这个问题上添加更多的信息。

我和OP有同样的问题,但是没有一个建议的答案对我有用。主要是因为“config 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包没有任何问题。

user
Reply   •   19 楼
user    7 年前

接受的答案已经过时了。有些建议已经包含在包中,我仍然收到关于缺少config win.h&mysqlclient.lib的错误。

  • 安装 mysql-connector-c-6.0.2-win32.msi

    Conenctor也有一个zip文件,但那不起作用,因为 mysqlclient.lib 是在 lib 目录,而安装程序需要 它在 lib/opt . 与其黑客攻击site.cfg或setup_windows.py,不如 MSI做这项工作。

  • pip安装mysql python

另外,由于我不再使用mysql,我的答案可能也过时了。

Gili
Reply   •   20 楼
Gili    11 年前

公认的解决方案似乎不再适用于mysql python的较新版本。安装程序不再提供 site.cfg 要编辑的文件。

如果您正在安装mysql python,它将查找 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中创建的符号链接