import jwt ImportError: No module named jwt

14

我一直在尝试运行这个项目 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

我之前曾经遇到过类似的错误并成功解决,但是这一次我无法找出问题的根源。


更新:由于我在虚拟环境中工作,所以一切都正常运行了!! - Rawan J9
7个回答

19
  1. 检查 requirements 文件中是否有 PyJWTY,或者在您的系统中安装了 PyJWT,使用命令:pip3 install PyJWT
  2. 如果您的机器上安装了两个版本的 Python,则可能会遇到此错误。因此正确的命令应该是 python3 main.py

1
使用 pip3 install PyJWT 安装解决了我的这个错误。 - andres

5

我遇到了与pyjwt 2.1.0相同的问题,这个版本明显已经安装在我的venv环境和全局环境中。解决方法是将它降级到1.7.1版本。

pip install "PyJWT==1.7.1"

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

pip install "PyJWT==2.1.0"

这样问题就消失了。


2
这个项目需要安装一些必要的依赖项才能正常工作。你可以通过pip进行安装,pip install -r requirements.txt(我已经在项目中链接了该文件),你可以在这里了解更多信息。请注意保留HTML标签。

你好,感谢回答。我已经安装了所需的软件,并检查了 JWT 是否已安装,但仍然遇到相同的错误。 - Rawan J9

2
我的解决方法是使用import jwt而不是import PyJWT。我正在使用PyJWT-2.3.0版本。在VSCode中查看jwt图片,如上截图所示,没有错误。应用程序可以在没有导入错误的情况下运行。终端图片

1

你只需要安装 PyJWT 而不是 JWT。确保卸载 JWT (pip uninstall JWT) 并安装 PyJWT (pip install PyJWT)。


0

pip3 install flask_jwt_ex.. 我之前没有使用sudo命令安装,然后在以sudo权限工作时进行了程序开发。


0

遇到了同样的问题。我正在使用运行Ubuntu 16.04的虚拟机。 我安装了多个版本的Python - 包括3.5和3.7。

在尝试了多次使用和不使用virtualenv之后,最终有效的方法是:

  1. 使用以下命令创建一个新的虚拟环境:
    priya:〜$ virtualenv -p /usr/bin/python3.7 fenv

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

注意:您可以使用whereis python找到python3.7的路径: priya:~$ whereis 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://dev59.com/bXI_5IYBdhLWcg3wFu7L:~:text=By%20default%2C%20that%20will%20be,%2Flocal%2Fbin%2Fpython3

针对您的项目 - FSWD Nanodegree - 激活虚拟环境后,运行pip install -r requirements.txt 您可以通过以下方式进行测试: (fenv) priya:FSND-Deploy-Flask-App-to-Kubernetes-Using-EKS :~$ python Python 3.7.9 (default, Aug 18 2020, 06:24:24) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information.

import jwt exit()


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接