tapeli
tapeli

Reputation: 99

ImportError: No module named bcrypt

I am trying to have my Python application encrypt passwords before storing them in an SQLite3 table.I have installed bcrypt on my Flask VirtualEnvironment. However, whenever i run my script i get the error:

File "./run.py", line 2, in <module>
    from app import app
  File "/home/test/app/__init__.py", line 12, in <module>
    from app import views
  File "/home/test/app/views.py", line 8, in <module>
    from flask_bcrypt import Bcrypt
  File "/home/test/flask/local/lib/python2.7/site-packages/flask_bcrypt.py", line 27, in <module>
    raise e
ImportError: No module named bcrypt

line 8 on views.py looks like this:

from flask_bcrypt import Bcrypt

What can i be possibly be doing wrong?

Upvotes: 7

Views: 23588

Answers (4)

Ahmad
Ahmad

Reputation: 1

If you have multiple versions of python (and thus for pip) installed on your machine, you might encounter this error when the "default" version of the pip is not the same of the "default" version of python; the package will not be identified. to solve the problem, type pipX.XX install bcrypt (replace X.XX with the python interpreter version)

Upvotes: 0

Deepanshu Verma
Deepanshu Verma

Reputation: 1

You need to install bcrypt.

  1. You can use :

pip install bcrypt

  1. Or you can use flask_bcrypt:

pip install flask-bcrypt or pip install flask_bcrypt

Then all you need is to import either one of them.

Upvotes: 0

michalxo
michalxo

Reputation: 101

pip install py-bcrypt --user there is a typo in comment above.

Upvotes: 9

Zdenek Maxa
Zdenek Maxa

Reputation: 1399

make sure you're installing bcrypt under your venv. first source your venv setup file and check by which pip if pip points to the right location, then do pip install bcrypt (not sure what the library is exactly called - could be py-bcypt as said above).

Upvotes: 3

Related Questions