【问题标题】:ModuleNotFoundError: No module named 'passlib' despite passlib already being installedModuleNotFoundError:尽管已经安装了 passlib,但没有名为“passlib”的模块
【发布时间】:2021-07-21 09:55:17
【问题描述】:

我有一个尝试导入 from passlib.hash import pbkdf2_sha256 的 python 模块,但是在运行该模块时,我得到了 ModuleNotFoundError。

我尝试在我的基本环境 venv 中运行该模块,在诗歌 shell 中,我尝试通过诗歌安装、pip install、pip install --force-reinstall 重新安装 passlib,但没有一个得到模块以查看正在安装的 passlib。我完全不知道为什么这个库不能工作。

完整的错误信息是:

诗歌运行 src/api-keychain/main.py --help

Traceback (most recent call last):
  File "XXX/src/api-keychain/main.py", line 5, in <module>
    from crypto import encrypt_key, decrypt_key
  File "XXX/src/api-keychain/crypto.py", line 5, in <module>
    from passlib.hash import pbkdf2_sha256
ModuleNotFoundError: No module named 'passlib'

【问题讨论】:

    标签: python passlib


    【解决方案1】:

    既然你提到你成功安装了passlib,我猜你可能没有用你正在使用的python解释器安装它。

    第一次尝试:

    pip install passlib
    

    如果不行,可能是因为你有Python2和3都试试:

    pip3 install passlib
    python3 -m pip install passlib
    

    如果您有像 Pycharm 这样的 IDE,您可以通过转到 解释器设置,使用它来检查您正在使用的解释器中包含哪些软件包。

    【讨论】: