导入 jwt ImportError:没有名为 jwt 的模块

Posted

技术标签:

【中文标题】导入 jwt ImportError:没有名为 jwt 的模块【英文标题】:import jwt ImportError: No module named jwt 【发布时间】:2020-11-28 06:02:02 【问题描述】:

我一直在尝试运行这个项目 https://github.com/udacity/FSND-Deploy-Flask-App-to-Kubernetes-Using-EKS

我安装了所有依赖项。 我仍然没有做任何调整。我需要先运行它 但是当我输入命令时出现此错误

python main.py

这是我得到的错误:

Traceback (most recent call last):
  File "main.py", line 8, in <module>
    import jwt
ImportError: No module named jwt

我之前遇到过类似的错误并设法解决了这些错误,但没有解决这个问题,我无法找出问题的根源

【问题讨论】:

更新:由于某种原因,当我在虚拟环境中工作时,它工作得很好!! 【参考方案1】:
    检查 PyJWTY 是否在需求文件中,或者是否安装在您的系统中,使用:pip3 install PyJWT 如果您的机器上运行了两个版本的 python,您也可能会遇到此错误。所以正确的命令是 python3 main.py

【讨论】:

使用pip3 install PyJWT 安装为我修复了这个错误。【参考方案2】:

这个项目有requirements,需要安装它才能工作。这些可以通过 pip 安装,pip install -r requirements.txt(我已经链接到项目中的需求文件),您可以阅读更多关于 here 的信息。

【讨论】:

您好,感谢您的回答,我确实安装了要求并检查了 jwt 是否已安装但仍然出现相同的错误【参考方案3】:

我在 pyjwt 2.1.0 中遇到了同样的问题,它显然安装在我的 venv 和全局中。有助于将其降级到 1.7.1 版

pip install "PyJWT==1.7.1"

运行应用程序,然后重新安装最新版本 2.1.0

pip install "PyJWT==2.1.0"

问题消失了。

【讨论】:

【参考方案4】:

面临同样的问题。我正在使用运行 ubuntu 16.04 的来宾 VM。 我安装了多个版本的 python - 3.5 和 3.7。

在使用和不使用 virtualenv 的反复尝试之后,最终奏效的是:

    使用 : 创建一个全新的虚拟环境 priya:~$ virtualenv -p /usr/bin/python3.7 fenv

    激活虚拟环境: priya:~$ source ./fenv/bin/activate

注意:使用 whereis python 可以找到 python3.7 的路径: priya:~$ python在哪里 python: /usr/bin/python /usr/bin/python3.5m /usr/bin/python3.5 /usr/bin/python3.7 /usr/bin/python3.5m-config / usr/bin/python3.5-config /usr/bin/python2.7 /usr/bin/python3.7m /usr/bin/python2.7-config /usr/lib/python3.5 /usr/lib/python3. 7 /usr/lib/python2.7 /etc/python /etc/python3.5 /etc/python3.7 /etc/python2.7 /usr/local/lib/python3.5 /usr/local/lib/python3. 7 /usr/local/lib/python2.7 /usr/include/python3.5m /usr/include/python3.5 /usr/include/python2.7 /usr/share/python /usr/share/man/man1/ python.1.gz

参考链接是:https://***.com/questions/1534210/use-different-python-version-with-virtualenv#:~:text=By%20default%2C%20that%20will%20be,%2Flocal%2Fbin%2Fpython3

对于您的项目 - FSWD 纳米学位 - 激活 virtualenv 后,运行 pip install -r requirements.txt 您可以通过以下方式进行测试: (fenv) priya:FSND-Deploy-Flask-App-to-Kubernetes-Using-EKS :~$ python Python 3.7.9(默认,2020 年 8 月 18 日,06:24:24) [GCC 5.4.0 20160609] 在 Linux 上 输入“help”、“copyright”、“credits”或“license”了解更多信息。

导入 jwt 退出()

【讨论】:

【参考方案5】:

pip3 install flask_jwt_ex.. 我在没有 sudo 的情况下这样做。然后我以 sudo 的身份开发该程序。

【讨论】:

【参考方案6】:

对我有用的是使用import jwt 而不是import PyJWT。我使用的是 PyJWT-2.3.0 版本。

jwt image on vscode 正如您在上面的屏幕截图中看到的那样,没有错误。该应用程序在没有导入错误的情况下运行。 Image of terminal

【讨论】:

以上是关于导入 jwt ImportError:没有名为 jwt 的模块的主要内容,如果未能解决你的问题,请参考以下文章

ImportError:没有名为 rest_framework_jwt.views 的模块

ImportError:没有名为 pydot 的模块(无法导入 pydot)

ImportError:导入 dj_database_url ImportError:没有名为“dj_database_url”的模块

ImportError:无法导入设置(是不是在 sys.path 上?设置文件中是不是存在导入错误?):没有名为 setting 的模块

ImportError:没有名为 google.cloud 的模块

ImportError:没有名为“pygame”的模块