安装MySQL-python时出现错误

4

我正在使用Python 2.7和Django 1.9.4。我想将我的Django应用程序与MySQL 5.7数据库集成,我执行了以下操作:

pip install MySQL-python

在64位的Windows 7机器上出现错误:

错误信息如下:

    F:\Djangoproject\mysite>pip install MySQL-python
Collecting MySQL-python
  Using cached MySQL-python-1.2.5.zip
Building wheels for collected packages: MySQL-python
  Running setup.py bdist_wheel for MySQL-python ... error
  Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\chandra\\appdata\\local\\temp\\pip-build
-3qbbxo\\MySQL-python\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__
, 'exec'))" bdist_wheel -d c:\users\chandra\appdata\local\temp\tmpoytuplpip-wheel- --python-tag cp27:
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win32-2.7
  copying _mysql_exceptions.py -> build\lib.win32-2.7
  creating build\lib.win32-2.7\MySQLdb
  copying MySQLdb\__init__.py -> build\lib.win32-2.7\MySQLdb
  copying MySQLdb\converters.py -> build\lib.win32-2.7\MySQLdb
  copying MySQLdb\connections.py -> build\lib.win32-2.7\MySQLdb
  copying MySQLdb\cursors.py -> build\lib.win32-2.7\MySQLdb
  copying MySQLdb\release.py -> build\lib.win32-2.7\MySQLdb
  copying MySQLdb\times.py -> build\lib.win32-2.7\MySQLdb
  creating build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\__init__.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\CR.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\ER.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\FLAG.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\REFRESH.py -> build\lib.win32-2.7\MySQLdb\constants
  copying MySQLdb\constants\CLIENT.py -> build\lib.win32-2.7\MySQLdb\constants
  running build_ext
  building '_mysql' extension
  creating build\temp.win32-2.7
  creating build\temp.win32-2.7\Release
  C:\Users\Chandra\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\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_mys
ql.c /Fobuild\temp.win32-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
  error: command 'C:\\Users\\Chandra\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit statu
s 2

  ----------------------------------------
  Failed building wheel for MySQL-python
  Running setup.py clean for MySQL-python
Failed to build MySQL-python
Installing collected packages: MySQL-python
  Running setup.py install for MySQL-python ... error
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\chandra\\appdata\\local\\temp\\pip-bui
ld-3qbbxo\\MySQL-python\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file
__, 'exec'))" install --record c:\users\chandra\appdata\local\temp\pip-rskyc7-record\install-record.txt --single-version-externally-managed --compile:

    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-2.7
    copying _mysql_exceptions.py -> build\lib.win32-2.7
    creating build\lib.win32-2.7\MySQLdb
    copying MySQLdb\__init__.py -> build\lib.win32-2.7\MySQLdb
    copying MySQLdb\converters.py -> build\lib.win32-2.7\MySQLdb
    copying MySQLdb\connections.py -> build\lib.win32-2.7\MySQLdb
    copying MySQLdb\cursors.py -> build\lib.win32-2.7\MySQLdb
    copying MySQLdb\release.py -> build\lib.win32-2.7\MySQLdb
    copying MySQLdb\times.py -> build\lib.win32-2.7\MySQLdb
    creating build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\__init__.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\CR.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\ER.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\FLAG.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\REFRESH.py -> build\lib.win32-2.7\MySQLdb\constants
    copying MySQLdb\constants\CLIENT.py -> build\lib.win32-2.7\MySQLdb\constants
    running build_ext
    building '_mysql' extension
    creating build\temp.win32-2.7
    creating build\temp.win32-2.7\Release
    C:\Users\Chandra\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -Dversion_in
fo=(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_m
ysql.c /Fobuild\temp.win32-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
    error: command 'C:\\Users\\Chandra\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit sta
tus 2

    ----------------------------------------
Command "c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\chandra\\appdata\\local\\temp\\pip-build-3qbbxo\\MySQL-python\
\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --
record c:\users\chandra\appdata\local\temp\pip-rskyc7-record\install-record.txt --single-version-externally-managed --compile" failed with error code
1 in c:\users\chandra\appdata\local\temp\pip-build-3qbbxo\MySQL-python\

1
你缺少 config-win.h 文件。 - Shivkumar kondi
请在您的问题中编辑包含版本(32/64位操作系统,Mysql)的信息。问题主要涉及mysql连接器。 - Shivkumar kondi
@ShivkumarKondi:请不要仅仅为了给技术名称加粗而进行编辑 - 它们并不需要,因为这并不能使它们更易读。一个更有用的编辑是修复大小写错误 - 这里所有的都是错误的。如果遵循它们的正确大小写,Python、Django、Windows、MySQL等会更易读。谢谢! - halfer
5个回答

1

0

我的系统已经安装了Visual C++编译器,尽管我使用新的C++编译器进行修复,但仍然出现相同的错误。 - user3579972

-1

关于Python:

首先检查命令提示符中是否正确运行Python。

如果没有,请下载并安装Python 2.7。

一旦下载完成,通常需要进入控制面板>系统>高级系统设置>高级选项卡>环境变量>路径>编辑。在这里,您需要添加Python安装的Windows路径。例如,我的是“C:\ Python27”。如果您不将其添加到Path变量中,则无法从命令行运行Python,测试事情也会很烦人。

安装pip:

接下来,我们应该安装pip,Python包管理器(本节的部分内容来源于经验和此stackoverflow页面)。如果您想知道,Python 3.4已经预先安装了pip!但是,如果您没有它,有几个选择。如果您的计算机上有easy_install,您可以简单地导航到Python27 \ Scripts目录并输入:

easy_install.exe pip

这将为您安装pip。如果您没有easy_install,则可以从这里下载python脚本。请确保将get-pip.py文件保存为.py文件而不是.txt。然后,您可以运行该脚本:

 python get-pip.py

一旦安装了pip,您可以像之前一样将pip所在的目录添加到您的路径中(可能类似于“C:\Python27\Scripts”)。

关于MySQL:

pip install mysql-python

在安装pip或其他软件包时(我尝试安装mysql-python软件包时),您可能会遇到无法找到vcvarsall.bat的错误。这意味着Windows找不到C/C++编译器(它正在寻找Visual Studio),而pip使用它来安装软件包和自身。

最后进行测试:

您可以通过转到命令提示符并键入以下内容来检查mysql-python是否已正确安装:

C:\> python
>>>import MySQLdb

Python已经正确安装在我的系统中,并且路径设置正确。 - user3579972
@Rahulchandra 这个问题与 MySQL 连接器有关。看看这个答案,它可能会对你有所帮助。https://dev59.com/8HI-5IYBdhLWcg3wMFW0#16619567 - Shivkumar kondi

-1

经过大量的研究,甚至下载了Python扩展的非官方Windows二进制文件 - 仍然感到失望。 最终,尝试了以下简单的命令,它奏效了。

easy_install mysql-python

-1

如果在安装mysql-python时出现错误,最好的方法是安装mysqlclient
mysqlclient是它的一个分支,因此可以用作替代品,并且它还包含MySQLdb。所以最好选择它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接