2016-07-25 125 views
0

我試圖安裝flask-mysql模塊,並且運行時發生錯誤。它看起來像vcvarsall.bat的問題,但我不確定提示。安裝flask-mysql python模塊時出錯

有人比我更有經驗的任何想法?

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([又名VS 9.0](https://en.wikipedia.org/wiki/Visual_C%2B%2B#32-bit_and_64-bit_versions)),它與python 2.7本身的版本相同與編譯。有一個專門用於python 2.7模塊的微軟編譯器[here](https://www.microsoft.com/en-au/download/details.aspx?id=44266)。我從來沒有嘗試過。 –

+0

也請確定,你安裝正確的mysql(x86 vs x64) –

回答

1

你可以嘗試使用這些binarieswindows分佈。當試圖在Windows上安裝時,Flask-mysql使用了mysql-python,它有issues。見this

+1

謝謝!你答案中的最後一個鏈接解決了我的問題:) – orangeandgrey

0

通常這種類型的錯誤發生時已經安裝了Python 32位和MySQL ,反之亦然。嘗試相同的安裝。我遇到這個錯誤postgresSql和python在這個命令pip安裝psycopg2 可能這會解決你的問題。