Python - 无法在本地应用引擎开发服务器中导入bcrypt

时间:2017-03-22 11:48:17

标签: python google-app-engine bcrypt

我正在尝试为我的udacity任务开发一个简单的论坛网站。使用bcrypt进行密码散列并不是一个严格的要求,但我想这样做是因为我也想知道如何使用Google未提供的第三方库。

按照提供here(安装第三方库)的说明,我创建了一个名为lib的文件夹,并使用以下命令安装了bcrypt库:

python -m pip install -t lib/ bcrypt

我有自动结构化的lib文件夹:

structre of lib folder

我还根据上述手册中的说明创建了一个包含以下内容的appengine_config.py文件:

# appengine_config.py
from google.appengine.ext import vendor

# add lib folder as vendor directory
vendor.add('lib')

此时,我无法将bcrypt导入到我的脚本中。我到目前为止尝试的导入命令如下:

from lib import bcrypt
  

ImportError:没有名为lib的模块

import bcrypt
  

ImportError:没有名为bcrypt._bcrypt的模块

from lib.bcrypt import bcrypt
  

ImportError:没有名为lib.bcrypt的模块

我错过了什么?

1 个答案:

答案 0 :(得分:3)

正如Avinash Raj指出的那样,正如参考手册中已经指出的那样,人们不能使用带有c扩展的python库。所以我下载了py-bcrypt,它就像一个魅力。

对于像我这样需要它的新手,以下是您必须采取的步骤:

  1. 在项目文件夹中,创建一个名为" lib"的文件夹。
  2. 将从上面的github下载的zip解压缩到文件夹' lib'。不使用 文件夹名称中的 - 。将其命名为pybcrypt
  3. 按照here
  4. 中的说明创建appengine_config.py文件
  5. 将库导入您的脚本,如下所示:from pybcrypt import bcrypt
  6. 拍拍自己的背部。