python 3.通过pip安装flask-bcrypt:无法找到vcvarsmall .bat



我尝试通过pip安装flask-bcrypt,但它引发了我这个错误:

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)

我目前正在运行Visual Studio 2015 RCPython 3Windows 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

最新更新