2017-01-24 39 views
1

Мне очень сложно установить MYSQLdb под Python 3.6. Я сражался с этим около дня и надеялся, что у кого-то есть исправить. Примечание. Как уже упоминалось, я запускаю Windows 10, MY SQL Workbench 6.3, PyCharm 2016.3.2 и Python 3.6. Начнем с того, что при попытке выполнить код в PyCharm, который включает в себя импорт MYSQLdb, я получаю сообщение об ошибке, если модуль не найден. Итак, я, конечно же, попытался установить, что каждый бинарный файл можно установить. Для большинства, я хотел бы получить следующее:MYSQLdb с Python 3.6

C:\Users\[me]>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:\python36\python.exe -u -c "import 
setuptools, tokenize;__file__='C:\\Users\\[me]\\AppData\\Local\\Temp\\pip-build-90yksnqx\\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\[me]\AppData\Local\Temp\tmprh_xynj1pip-wheel- --python-tag cp36: 
running bdist_wheel 
running build 
running build_py 
creating build 
creating build\lib.win-amd64-3.6 
copying _mysql_exceptions.py -> build\lib.win-amd64-3.6 
creating build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\__init__.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\converters.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\connections.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\cursors.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\release.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\times.py -> build\lib.win-amd64-3.6\MySQLdb 
creating build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\CR.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\ER.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\REFRESH.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
running build_ext 
building '_mysql' extension 
creating build\temp.win-amd64-3.6 
creating build\temp.win-amd64-3.6\Release 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -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:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tc_mysql.c /Fobuild\temp.win-amd64-3.6\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:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 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:\python36\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\[me]\\AppData\\Local\\Temp\\pip-build-90yksnqx\\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\[me]\AppData\Local\Temp\pip-h7ydssnj-record\install-record.txt --single-version-externally-managed --compile: 
running install 
running build 
running build_py 
creating build 
creating build\lib.win-amd64-3.6 
copying _mysql_exceptions.py -> build\lib.win-amd64-3.6 
creating build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\__init__.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\converters.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\connections.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\cursors.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\release.py -> build\lib.win-amd64-3.6\MySQLdb 
copying MySQLdb\times.py -> build\lib.win-amd64-3.6\MySQLdb 
creating build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\CR.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\ER.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\REFRESH.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-3.6\MySQLdb\constants 
running build_ext 
building '_mysql' extension 
creating build\temp.win-amd64-3.6 
creating build\temp.win-amd64-3.6\Release 
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\x86_amd64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -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:\python36\include -Ic:\python36\include "-IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\winrt" /Tc_mysql.c /Fobuild\temp.win-amd64-3.6\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:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2 

Итак, я даже тогда попытался установить неофициальный двоичный файл для 3.6 доступны на http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

Это установлен штраф, но до сих пор не повезло при выполнении в PyCharm.

Далее я перешел в preferences => project interpreter в PyCharm и попытался установить MYSQLdb прямо оттуда. При том, что я получаю эту другую ошибку:

Collecting MySQLdb 

Could not find a version that satisfies the requirement MySQLdb (from versions:) 
No matching distribution found for MySQLdb 

Из моего исследования это, кажется, происходит много при использовании новых версий Python. Кто-нибудь знает об обходном пути или когда 3.6 будет поддерживаться?

+0

обратитесь сюда http://stackoverflow.com/questions/26866147/mysql-python-install-fatal-error –

ответ

1

попытайтесь использовать sqlalchemy, который полностью одобрен для многих драйверов ODBC. При использовании mysqldb, mysqlconnector лучше в python3.x. Я перенес проект с sqlite на сервер mysql и отлично работаю в python3.6. sqlalchemy предлагает решение для подключения к другому ODBC.

0

У меня был такой же выпуск.

Я последовал совету другого ответа и получил SQLAlchemy используя пип ниже:

pip install SQLAlchemy 

я не смог играть с ним еще, но это установить без ошибок, так что здесь надеется!

-1

Я имел этот вопрос раньше, и я обнаружил, что при использовании питона 3.6 вам просто нужно установить mysqlclient: 1 - создать папку и чем virtualenv (virtualenv myvenv --python Python3) 2 - Установить версию Джанго вы хотите (pip install django == 1.9.3) 3- Установите mysqlclient (pip install mysqlclient) Если вы заходите в папку myvenv/lib/python3.6/site-packages, вы увидите, что модуль MySQLdb будет там.