2016-07-25 5 views
0

Я пытаюсь установить модуль flask-mysql и запутаться в ошибке. Это похоже на проблему с vcvarsall.bat, но я не совсем уверен в этом.Ошибка при установке flask-mysql python module

Любые идеи от кого-то более опытного, чем я?

C:\eb-virt\bucketlist>pip install flask-mysql 

Collecting flask-mysql 
    Using cached Flask_MySQL-1.3-py2.py3-none-any.whl 
Collecting MySQL-python (from flask-mysql) 
    Using cached MySQL-python-1.2.5.zip 
Requirement already satisfied (use --upgrade to upgrade): Flask in c:\python27\lib\site-packages (from flask-mysql) 
Requirement already satisfied (use --upgrade to upgrade): itsdangerous>=0.21 in c:\python27\lib\site-packages (from Flask->flask-mysql) 
Requirement already satisfied (use --upgrade to upgrade): click>=2.0 in c:\python27\lib\site-packages (from Flask->flask-mysql) 
Requirement already satisfied (use --upgrade to upgrade): Werkzeug>=0.7 in c:\python27\lib\site-packages (from Flask->flask-mysql) 
Requirement already satisfied (use --upgrade to upgrade): Jinja2>=2.4 in c:\python27\lib\site-packages (from Flask->flask-mysql) 
Requirement already satisfied (use --upgrade to upgrade): MarkupSafe in c:\python27\lib\site-packages (from Jinja2>=2.4->Flask->flask-mysql) 
Installing collected packages: MySQL-python, flask-mysql 
    Running setup.py install for MySQL-python ... error 
    Complete output from command c:\python27\python.exe -u -c "import setuptools, tokenize;__file__='c:\\users\\tonype~1\\appdata\\local\\temp\\pip-build-3xn7it\\MySQL-python\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\tonype~1\appdata\local\temp\pip-vtdlrx-record\install-record.txt --single-version-externally-managed --compile: 
    running install 
    running build 
    running build_py 
    creating build 
    creating build\lib.win-amd64-2.7 
    copying _mysql_exceptions.py -> build\lib.win-amd64-2.7 
    creating build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\__init__.py -> build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\converters.py -> build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\connections.py -> build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\cursors.py -> build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\release.py -> build\lib.win-amd64-2.7\MySQLdb 
    copying MySQLdb\times.py -> build\lib.win-amd64-2.7\MySQLdb 
    creating build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\__init__.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\CR.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\FIELD_TYPE.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\ER.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\FLAG.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\REFRESH.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    copying MySQLdb\constants\CLIENT.py -> build\lib.win-amd64-2.7\MySQLdb\constants 
    running build_ext 
    building '_mysql' extension 
    error: Microsoft Visual C++ 9.0 is required (Unable to find vcvarsall.bat). Get it from http://aka.ms/vcpython27 

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

Для этого требуется компиляция собственного кода. вам нужна версия visual C++ 2008 ([aka VS 9.0] (https://en.wikipedia.org/wiki/Visual_C%2B%2B#32-bit_and_64-bit_versions)), которая является той же версией, что и сам python 2.7 скомпилирован с. Существует компилятор microsoft специально для модулей python 2.7 [здесь] (https://www.microsoft.com/en-au/download/details.aspx?id=44266). Я никогда не пробовал. –

+0

также убедитесь, что вы установили правильный mysql (x86 vs x64) –

ответ

1

Вы можете попробовать использовать эти binaries для windows распределений. Flask-mysql использует mysql-python, который имеет issues при попытке установить на windows. См. this.

+1

Спасибо! Последняя ссылка в вашем ответе решила мою проблему :) – orangeandgrey

0

Часто этот тип ошибки произошел, когда вы установили Python 32bit и MySQL 64bit или наоборот. Попробуйте те же установки. Я испытал эту ошибку с postgresSql и python по этой команде pip install psycopg2 Возможно, это решит проблему.

Смежные вопросы