22

The interpreter configuration in pycharm became invalid for some reason so I created a new virtual environment for the project that I was working on, and installed the dependencies again. But I am having trouble in installing bcrypt again. Here's the complete error. The project was working fine with the previous interpreter so I doubt that the python version has anything to do with it. I tried installing wheel as well as the error said could not build wheels but that didn't do the job as well.

The complete error:

Collecting flask-bcrypt
      Using cached https://files.pythonhosted.org/packages/1d/c0/6d4c04d007d72b355de24e7a223978d1a95732245f
    9e9becbf45d3024bf8/Flask-Bcrypt-0.7.1.tar.gz
    Requirement already satisfied: Flask in c:\users\User\appdata\local\programs\python\python38-3
    2\lib\site-packages (from flask-bcrypt) (1.1.2)
    Collecting bcrypt (from flask-bcrypt)
      Using cached https://files.pythonhosted.org/packages/d8/ba/21c475ead997ee21502d30f76fd93ad8d5858d19a3
    fad7cd153de698c4dd/bcrypt-3.2.0.tar.gz
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
        Preparing wheel metadata ... done
    Requirement already satisfied: Jinja2>=2.10.1 in c:\users\User\appdata\local\programs\python\p
    ython38-32\lib\site-packages (from Flask->flask-bcrypt) (2.11.2)
    Requirement already satisfied: Werkzeug>=0.15 in c:\users\User\appdata\local\programs\python\p
    ython38-32\lib\site-packages (from Flask->flask-bcrypt) (1.0.1)
    Requirement already satisfied: itsdangerous>=0.24 in c:\users\User\appdata\local\programs\pyth
    on\python38-32\lib\site-packages (from Flask->flask-bcrypt) (1.1.0)
    Requirement already satisfied: click>=5.1 in c:\users\User\appdata\local\programs\python\pytho
    n38-32\lib\site-packages (from Flask->flask-bcrypt) (7.1.2)
    Requirement already satisfied: six>=1.4.1 in c:\users\User\appdata\roaming\python\python38\sit
    e-packages (from bcrypt->flask-bcrypt) (1.15.0)
    Requirement already satisfied: cffi>=1.1 in c:\users\User\appdata\local\programs\python\python
    38-32\lib\site-packages (from bcrypt->flask-bcrypt) (1.14.2)
    Requirement already satisfied: MarkupSafe>=0.23 in c:\users\User\appdata\local\programs\python
    \python38-32\lib\site-packages (from Jinja2>=2.10.1->Flask->flask-bcrypt) (1.1.1)
    Requirement already satisfied: pycparser in c:\users\User\appdata\local\programs\python\python
    38-32\lib\site-packages (from cffi>=1.1->bcrypt->flask-bcrypt) (2.20)
    Building wheels for collected packages: bcrypt
      Building wheel for bcrypt (PEP 517) ... error
      ERROR: Command errored out with exit status 1:
       command: 'c:\users\User\appdata\local\programs\python\python38-32\python.exe' 'c:\users\User\appdata\local\programs\python\python38-32\lib\site-packages\pip\_vendor\pep517\_in_process.p
    y' build_wheel 'C:\conda_temp\tmpgl0zt2ul'
           cwd: C:\conda_temp\pip-install-9i9ne9yb\bcrypt
      Complete output (15 lines):
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win32-3.8
      creating build\lib.win32-3.8\bcrypt
      copying src\bcrypt\__about__.py -> build\lib.win32-3.8\bcrypt
      copying src\bcrypt\__init__.py -> build\lib.win32-3.8\bcrypt
      copying src\bcrypt\py.typed -> build\lib.win32-3.8\bcrypt
      running build_ext
      generating cffi module 'build\\temp.win32-3.8\\Release\\_bcrypt.c'
      creating build\temp.win32-3.8
      creating build\temp.win32-3.8\Release
      building '_bcrypt' extension
      error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://vi
    sualstudio.microsoft.com/downloads/
      ----------------------------------------
      ERROR: Failed building wheel for bcrypt
      Running setup.py clean for bcrypt
    Failed to build bcrypt
    ERROR: Could not build wheels for bcrypt which use PEP 517 and cannot be installed directly
    WARNING: You are using pip version 19.2.3, however version 20.2.2 is available.
    You should consider upgrading via the 'python -m pip install --upgrade pip' command.
stumbling_errors
  • 235
  • 1
  • 2
  • 11

8 Answers8

27

try using these commands:

python -m pip install --upgrade pip
python -m pip install --no-use-pep517 bcrypt
MANJUNATH B
  • 271
  • 2
  • 3
  • 1
    python -m pip install --upgrade pip – Piyush Balapure Sep 22 '20 at 05:58
  • 7
    `--no-use-pep517` is a brilliant suggestion, `bcrypt` was installed with no headache using this option. – sanyassh Oct 21 '20 at 14:33
  • It didn't fix my problem at first. Then I've installed these libraries using brew and then used your answer and it's fixed. https://stackoverflow.com/a/56700040/5186565 – Cagatay Barin Mar 11 '21 at 10:41
  • I am working via Visual studio Code IDE and just this ```python -m pip install --upgrade pip``` solved the code for me. later I just reinstalled bcrypt via ```pip install bcrypt ``` and solved! – Corina Roca Oct 07 '21 at 16:58
  • bcrypt was installed with this solution but the rest requirements, like bsdiff4 and numpy, failed although all the Microsoft Visual C++ versions are installed. – Konstantinos Jun 23 '22 at 11:40
3

bcrypt is now implemented in Rust. Users building from source will need to have a Rust compiler available although nothing will change for users downloading wheels.

bcrypt developers no longer ship manylinux2010 wheels. Users should upgrade to the latest pip to ensure this doesn’t cause issues downloading wheels on their platform or use an older version than 4.0.0.

So try

pip3 install -U "bcrypt<4.0.0"
  • Actually installing version 4.0.0. helped in my case :) – Wojtek_B Jan 16 '23 at 13:30
  • This solution worked with my `Python 3.6` and `pip 21.2`. I was trying to install `bcrypt 4.1` from source and it failed. Switching to lower `bcrypt 3.6` worked! – user3503711 Jan 18 '23 at 21:46
2

What I did might work for you also:

$ python -m pip install --upgrade pip
$ python -m pip install --no-use-pep517 bcrypt

and it worked.

Nam G VU
  • 33,193
  • 69
  • 233
  • 372
2

Fixing bcrypt to 3.2.2 (the latest version before 4.0.0) fixed this for me. Like stated here:

The problem comes with bcrypt 4.0.0 for which there is no wheel available.

zwithouta
  • 1,319
  • 1
  • 9
  • 22
0

Changing python from 32-version to 64-version may be solution. It helped me.

0

I was able to resolve the issue by upgrading my pip version:

python -m pip install --upgrade pip

After that, I successfully installed the flask-bcrypt package:

pip install flask-bcrypt

-1

try

pip install pep517

PIP is very unreliable, it needs over 350 different packages under python, and the system as well

-1

I downloaded and installed

"microsoft visual c++ build tools" https://go.microsoft.com/fwlink/?LinkId=691126

and restarted the computer and worked for me.

DMG
  • 27
  • 1
  • 7