Я использую Python 2.7 и Django 1.9.4. Я хочу интегрировать свое приложение Django с базой данных MySQL 5.7, и я выполнил:

pip install MySQL-python

На Windows 7 машина 64-битная.

И получаю ошибку:

    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\
3
user3579972 13 Янв 2017 в 09:17

5 ответов

Лучший ответ

Самый простой способ - использовать предварительно скомпилированные пакеты Python, которые можно найти здесь http : //www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python

1
Nghung 13 Янв 2017 в 08:36

О Python:

Первая проверка - правильно ли работает python в командной строке.

Если нет Загрузите и установите Python 2.7.

После загрузки вам, как правило, нужно перейти в Панель управления> Система> Дополнительные параметры системы> Вкладка «Дополнительно»> Переменные среды> Путь> Изменить. Здесь вам нужно добавить путь Windows вашей установки Python. Например, у меня есть "C: \ Python27". Если вы не добавите это в переменную Path, вы не сможете запускать Python из командной строки, и это будет раздражать при тестировании.

Установить пипс .

Затем мы должны установить pip, менеджер пакетов Python (часть этого раздела основана на опыте некоторых на этой странице stackoverflow). Если вам интересно, Python 3.4 уже имеет установленный pip! Но если у вас его нет, есть несколько вариантов. Если у вас есть easy_install на вашем компьютере, вы можете просто перейти в каталог Python27 \ Scripts и набрать:

easy_install.exe pip

Это должно установить пип для вас. Если у вас нет easy_install, вы можете загрузить сценарий Python с . Обязательно сохраните этот файл get-pip.py как файл .py, а не .txt. Затем вы можете запустить скрипт:

 python get-pip.py

После установки pip вы можете добавить каталог, в котором находится pip, к вашему пути, как мы делали раньше (возможно, что-то вроде «C: \ Python27 \ Scripts»).

О MySQL:

pip install mysql-python

Вы можете получить сообщение об ошибке «Невозможно найти vcvarsall.bat» при установке pip или других пакетов (я получил его при попытке установить пакет mysql-python). Это означает, что Windows не может найти компилятор C / C ++ (он ищет Visual Studio), который pip использует для установки пакетов и установки самостоятельно.

Наконец, проверьте его.

Вы можете проверить, правильно ли установлен mysql-python, перейдя в командную строку и набрав:

C:\> python
>>>import MySQLdb
-1
Shivkumar kondi 13 Янв 2017 в 07:06

Вам нужен компилятор C в вашей системе. Самый простой способ - использовать Microsoft.

https://www.microsoft.com/en-au/download/details.aspx?id=44266

0
Andrey Shipilov 13 Янв 2017 в 06:21

Лучший способ - установить mysqlclient в случае получения ошибок при установке mysql-python.
mysqlclient является его форком, и, следовательно, его можно использовать в качестве замены, а также содержит MySQLdb. Итак, лучше пойти на это

-1
Adam 24 Май 2019 в 10:40

Сделано много исследований, даже скачаны неофициальные двоичные файлы Windows для расширений Python - снова разочаровал. Наконец, после попытки просто следуйте следующей команде, и это сработало.

easy_install mysql-python
-1
Pika the Wizard of the Whales 6 Апр 2019 в 21:57