我尝试通过pip安装flask-bcrypt,但它引发了我这个错误:
error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
我目前正在运行Visual Studio 2015 RC
和Python 3
在Windows 10
上。
有解决这个错误的办法吗?
编辑:我试图遵循不同的解决方案,并安装了Visual Studio 2010 Express,我现在被困在以下错误(通过PIP安装在VS 2013):
Collecting py-bcrypt
Using cached py-bcrypt-0.4.tar.gz
Installing collected packages: py-bcrypt
Running setup.py install for py-bcrypt
Complete output from command "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparkScriptspython.exe" -c "import setuptools, tokenize;__file__='C:\Users\Niels\AppData\Local\Temp\pip-build-3pqnujd2\py-bcrypt\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record C:UsersNielsAppDataLocalTemppip-syaty7au-recordinstall-record.txt --single-version-externally-managed --compile --install-headers "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparkincludesitepython3.4py-bcrypt":
running install
running build
running build_py
creating build
creating buildlib.win-amd64-3.4
creating buildlib.win-amd64-3.4bcrypt
copying bcrypt__init__.py -> buildlib.win-amd64-3.4bcrypt
running build_ext
building 'bcrypt._bcrypt' extension
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:UsersNielsAppDataLocalTemppip-build-3pqnujd2py-bcryptsetup.py", line 61, in <module>
ext_modules = [bcrypt]
File "C:UsersNielsAnaconda3libdistutilscore.py", line 148, in setup
dist.run_commands()
File "C:UsersNielsAnaconda3libdistutilsdist.py", line 955, in run_commands
self.run_command(cmd)
File "C:UsersNielsAnaconda3libdistutilsdist.py", line 974, in run_command
cmd_obj.run()
File "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparklibsite-packagessetuptools-15.1-py3.4.eggsetuptoolscommandinstall.py", line 61, in run
File "C:UsersNielsAnaconda3libdistutilscommandinstall.py", line 539, in run
self.run_command('build')
File "C:UsersNielsAnaconda3libdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:UsersNielsAnaconda3libdistutilsdist.py", line 974, in run_command
cmd_obj.run()
File "C:UsersNielsAnaconda3libdistutilscommandbuild.py", line 126, in run
self.run_command(cmd_name)
File "C:UsersNielsAnaconda3libdistutilscmd.py", line 313, in run_command
self.distribution.run_command(command)
File "C:UsersNielsAnaconda3libdistutilsdist.py", line 974, in run_command
cmd_obj.run()
File "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparklibsite-packagessetuptools-15.1-py3.4.eggsetuptoolscommandbuild_ext.py", line 50, in run
File "C:UsersNielsAnaconda3libdistutilscommandbuild_ext.py", line 339, in run
self.build_extensions()
File "C:UsersNielsAnaconda3libdistutilscommandbuild_ext.py", line 448, in build_extensions
self.build_extension(ext)
File "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparklibsite-packagessetuptools-15.1-py3.4.eggsetuptoolscommandbuild_ext.py", line 183, in build_extension
File "C:UsersNielsAnaconda3libdistutilscommandbuild_ext.py", line 503, in build_extension
depends=ext.depends)
File "C:UsersNielsAnaconda3libdistutilsmsvc9compiler.py", line 460, in compile
self.initialize()
File "C:UsersNielsAnaconda3libdistutilsmsvc9compiler.py", line 371, in initialize
vc_env = query_vcvarsall(VERSION, plat_spec)
File "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparklibsite-packagessetuptools-15.1-py3.4.eggsetuptoolsmsvc9_support.py", line 52, in query_vcvarsall
File "C:UsersNielsAnaconda3libdistutilsmsvc9compiler.py", line 287, in query_vcvarsall
raise ValueError(str(list(result.keys())))
ValueError: ['path']
----------------------------------------
Command ""C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparkScriptspython.exe" -c "import setuptools, tokenize;__file__='C:\Users\Niels\AppData\Local\Temp\pip-build-3pqnujd2\py-bcrypt\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record C:UsersNielsAppDataLocalTemppip-syaty7au-recordinstall-record.txt --single-version-externally-managed --compile --install-headers "C:UsersNielsDocumentsVisual Studio 2013Projectsbiosparkbiosparkenv_biosparkincludesitepython3.4py-bcrypt"" failed with error code 1 in C:UsersNielsAppDataLocalTemppip-build-3pqnujd2py-bcrypt
'py-bcrypt' failed to install. Exit code: 1
编辑2:我通过这个Windows Installer: https://github.com/axper/python3-pycrypto-windows-installer安装了pycrypto,它带有bcrypt,适合我的需要。但如果能解决原来的问题就好了。
显然这个问题可以通过先安装py-bcrypt来解决。win32安装程序可以从reddit帖子的第一条评论中获得:
http://www.reddit.com/r/flask/comments/15q5xj/anyone_have_a_working_version_of_flaskbcrypt_for/这是另一个选项,您需要在导入bcrypt之前设置Wheel包
pip install wheel
pip install bcrypt
from flask_bcrypt import Bcrypt