2014-09-22 2 views
1

Попытка получить bcrypt, работающую над окнами, была непростой задачей. Я наконец нашел поток reddit, указывающий на дистрибутив Windows bcrypt (http://www.reddit.com/r/flask/comments/15q5xj/anyone_have_a_working_version_of_flaskbcrypt_for/), и он, наконец, установлен, см. Ниже!Установленный bcrypt на windows для python и passlib - все еще есть MissingBackendError

C:\pyprojects\flask-security>flask\scripts\pip list 
blinker (1.3) 
chardet (2.2.1) 
decorator (3.4.0) 
Flask (0.9) 
Flask-Login (0.2.10) 
Flask-Mail (0.7.6) 
Flask-Principal (0.4.0) 
Flask-Security (1.7.3) 
Flask-SQLAlchemy (0.16) 
Flask-WhooshAlchemy (0.55a) 
Flask-WTF (0.8.4) 
itsdangerous (0.24) 
Jinja2 (2.7.2) 
lamson (1.3.4) 
MarkupSafe (0.19) 
passlib (1.6.2) 
pip (1.5.4) 
py-bcrypt (0.4) 
pywin32 (219) 
setuptools (0.6c11) 
SQLAlchemy (0.7.9) 
sqlalchemy-migrate (0.7.2) 
Tempita (0.5.2) 
Werkzeug (0.9.4) 
Whoosh (2.6.0) 
WTForms (1.0.5) 

Однако, при попытке использовать его с passlib я все еще получаю следующее сообщение об ошибке:

passlib.exc.MissingBackendError 
MissingBackendError: no bcrypt backends available - please install py-bcrypt 

Вот полный след:

File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1701, in __call__ 
return self.wsgi_app(environ, start_response) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1689, in wsgi_app 
response = self.make_response(self.handle_exception(e)) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1687, in wsgi_app 
response = self.full_dispatch_request() 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1360, in full_dispatch_request 
rv = self.handle_user_exception(e) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1358, in full_dispatch_request 
rv = self.dispatch_request() 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask\app.py", line 1344, in dispatch_request 
return self.view_functions[rule.endpoint](**req.view_args) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask_security\decorators.py", line 205, in wrapper 
return f(*args, **kwargs) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask_security\views.py", line 117, in register 
user = register_user(**form.to_dict()) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask_security\registerable.py", line 28, in register_user 
kwargs['password'] = encrypt_password(kwargs['password']) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\flask_security\utils.py", line 151, in encrypt_password 
return _pwd_context.encrypt(signed) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\passlib\context.py", line 2495, in encrypt 
return self._get_record(scheme, category).encrypt(secret, **kwds) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\passlib\utils\handlers.py", line 558, in encrypt 
self.checksum = self._calc_checksum(secret) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\passlib\handlers\bcrypt.py", line 285, in _calc_checksum 
return self._calc_checksum_backend(secret) 
File "C:\pyprojects\flask-security\flask\lib\site-packages\passlib\utils\handlers.py", line 1454, in _calc_checksum_backend 
self.set_backend() 
File "C:\pyprojects\flask-security\flask\lib\site-packages\passlib\utils\handlers.py", line 1442, in set_backend 
raise exc.MissingBackendError(cls._no_backends_msg()) 
MissingBackendError: no bcrypt backends available - please install py-bcrypt 

Кто-нибудь есть ключ, что я Не хватает?

ответ

0

Обнаружено, что происходит. Я использовал команду virtualenv Mega Flask Tutorial. Хотя, когда я собираюсь начать новый проект, я просто скопировал папку в новое место, переименовал ее и продолжил свой весёлый путь. Оказывается, что пип еще устанавливать вещи одной из моих старых проектов, которые я наткнулся случайно, выполнив:

pip show py-bcrypt 

Который показал путь к одному из моих старых проектов.

Как только я сказал, что нужно установить файл колеса непосредственно в проект, в который я захотел, все отлично поработало. Смотрите ниже:

pip install py_bcrypt-0.4-cp27-none-win32.whl -t c:\path\to-desired-project\flask\lib\site-packages 

Теперь, если бы я только мог понять, как перманентно изменить пип каталог установки ... лол

 Смежные вопросы

  • Нет связанных вопросов^_^