[英]How to resolve versionConflict error in Flask (PyJWT and Flask-JWT-Extended)
我想使用Flask
框架运行一个非常简单的应用程序。 我之前也运行和开发过 flask 应用程序。 一段时间后,我需要使用它开发一个新的简单应用程序。
所以我创建了一个虚拟环境并激活它:
virtualenv venv
source venv/bin/activate
python --version # prints 3.8.6
pip --version # prints pip 20.3.1
然后安装Flask
:
(venv) pip install -U Flask
这是我的hello world
代码:
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
每当我运行flask run
命令时,我都会遇到以下错误:
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (PyJWT 2.0.0 (/home/user/.local/lib/python3.8/site-packages), Requirement.parse('PyJWT<2.0,>=1.6.4'), {'Flask-JWT-Extended'})
我也看到了类似的链接,我在下面引用它们,但我没有得到任何关于如何解决它的线索。
PS值得注意的是,我尝试安装不同版本的 PyJWT,如1.7.1
、 2.0.0
等,但它们都不能正常工作。
Flask
(当前为 2.0.1)的最新版本似乎存在依赖问题。
通过以下命令将其降级到1.1.2
后问题得到解决:
pip install Flask==1.1.2
希望它会在不久的将来得到修复!
这解决了我的问题,而无需从头开始制作新的 Venv/Environment:
try uninstalling Flask and all Flask Related modules and then just run pip install flask-jwt-extended
which will install flask properly again.
与flask-jwt-extended==4.3.1
一起使用,并将设置flask==2.0.2
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.