2017-07-06 100 views
0

我嘗試使用來自standard libary的導入scrypt。無法從hashlib導入scrypt

無論是在我的本地計算機(ubuntu 16.04)還是服務器(heroku/heroku堆棧),導入都會失敗。

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: cannot import name 'scrypt' 

在這兩個系統上都安裝了openssl 1.0.2g。這是一個知道的問題,或者我該如何解決它?

回答

1

據我所知,使用scrypt的一個要求是你已經安裝了OpenSSL 1.1+。如果你看看hashlib.py:

try: 
    # OpenSSL's scrypt requires OpenSSL 1.1+ 
    from _hashlib import scrypt 
except ImportError: 
    pass 

你看,進口以使scrypt供你只是傳遞沒有任何消息,如果你沒有在的OpenSSL安裝了正確的版本,當然你如果發生這種情況,不能使用它。也許從pypi(https://pypi.python.org/pypi/scrypt/)的scrypt包可以替代你嗎?

+0

正如前面提到的openssl 1.0.2安裝。 – R3turnz

+1

是的,但是您需要在版本> = ** 1.1 **中使用OpenSSL。 – sbhle