【问题标题】:Install flask-bcrypt via pip: Unable to find vcvarsall.bat通过 pip 安装 flask-bcrypt:无法找到 vcvarsall.bat
【发布时间】:2015-07-09 13:19:58
【问题描述】:

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

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

我目前在Windows 10 上运行Visual Studio 2015 RCPython 3

任何想法如何解决这个错误?

编辑: 我尝试遵循不同的解决方案并安装了 Visual Studio 2010 Express,但现在遇到以下错误(在 VS 2013 中通过 PIP 安装):

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:\Users\Niels\Documents\Visual Studio        2013\Projects\biospark\biospark\env_biospark\Scripts\python.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('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Niels\AppData\Local\Temp\pip-syaty7au-record\install-record.txt --single-version-externally-managed --compile --install-headers "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\include\site\python3.4\py-bcrypt":
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.4
creating build\lib.win-amd64-3.4\bcrypt
copying bcrypt\__init__.py -> build\lib.win-amd64-3.4\bcrypt
running build_ext
building 'bcrypt._bcrypt' extension
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\Niels\AppData\Local\Temp\pip-build-3pqnujd2\py-bcrypt\setup.py", line 61, in <module>
    ext_modules = [bcrypt]
  File "C:\Users\Niels\Anaconda3\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\Users\Niels\Anaconda3\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "C:\Users\Niels\Anaconda3\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\lib\site-packages\setuptools-15.1-py3.4.egg\setuptools\command\install.py", line 61, in run
  File "C:\Users\Niels\Anaconda3\lib\distutils\command\install.py", line 539, in run
    self.run_command('build')
  File "C:\Users\Niels\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Niels\Anaconda3\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\Niels\Anaconda3\lib\distutils\command\build.py", line 126, in run
    self.run_command(cmd_name)
  File "C:\Users\Niels\Anaconda3\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\Users\Niels\Anaconda3\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\lib\site-packages\setuptools-15.1-py3.4.egg\setuptools\command\build_ext.py", line 50, in run
  File "C:\Users\Niels\Anaconda3\lib\distutils\command\build_ext.py", line 339, in run
    self.build_extensions()
  File "C:\Users\Niels\Anaconda3\lib\distutils\command\build_ext.py", line 448, in build_extensions
    self.build_extension(ext)
  File "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\lib\site-packages\setuptools-15.1-py3.4.egg\setuptools\command\build_ext.py", line 183, in build_extension
  File "C:\Users\Niels\Anaconda3\lib\distutils\command\build_ext.py", line 503, in build_extension
    depends=ext.depends)
  File "C:\Users\Niels\Anaconda3\lib\distutils\msvc9compiler.py", line 460, in compile
    self.initialize()
  File "C:\Users\Niels\Anaconda3\lib\distutils\msvc9compiler.py", line 371, in initialize
    vc_env = query_vcvarsall(VERSION, plat_spec)
  File "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\lib\site-packages\setuptools-15.1-py3.4.egg\setuptools\msvc9_support.py", line 52, in query_vcvarsall
  File "C:\Users\Niels\Anaconda3\lib\distutils\msvc9compiler.py", line 287, in query_vcvarsall
    raise ValueError(str(list(result.keys())))
ValueError: ['path']

----------------------------------------
Command ""C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\Scripts\python.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('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Niels\AppData\Local\Temp\pip-syaty7au-record\install-record.txt --single-version-externally-managed --compile --install-headers "C:\Users\Niels\Documents\Visual Studio 2013\Projects\biospark\biospark\env_biospark\include\site\python3.4\py-bcrypt"" failed with error code 1 in C:\Users\Niels\AppData\Local\Temp\pip-build-3pqnujd2\py-bcrypt


'py-bcrypt' failed to install. Exit code: 1

编辑 2: 我通过 thsi Windows Installer 安装了 pycrypto:https://github.com/axper/python3-pycrypto-windows-installer,它带有 bcrypt 并适合我的需要。但如果能解决原来的问题就好了。

【问题讨论】:

  • this thread
  • 跟随这个帖子我偶然发现了一个新问题,如编辑中所述。

标签: python-3.x visual-studio-2013 flask pip bcrypt


【解决方案1】:

显然这个问题可以通过先安装py-bcrypt来解决。此 reddit 帖子的第一条评论中提供了一个 win32 安装程序:

http://www.reddit.com/r/flask/comments/15q5xj/anyone_have_a_working_version_of_flaskbcrypt_for/

【讨论】:

  • 现在我得到py_bcrypt-0.4-cp27-none-win_amd64.whl is not a supported wheel on this platform.。 Pip 是最新的。
  • 是的,链接的二进制文件适用于 Python 2;问题是关于 Python 3 的。
  • 这应该被标记为答案。非常适合我。
【解决方案2】:

这里还有一个选项,你需要先设置 Wheel 包才能导入 bcrypt

pip install wheel
pip install bcrypt
 from flask_bcrypt import Bcrypt

【讨论】:

    猜你喜欢
    • 2015-12-15
    • 2016-10-06
    • 1970-01-01
    • 2015-12-14
    • 2016-05-18
    • 2021-04-21
    • 2017-02-08
    • 2019-06-18
    • 1970-01-01
    相关资源
    最近更新 更多