簡體   English   中英

如何解決 Flask 中的版本沖突錯誤(PyJWT 和 Flask-JWT-Extended)

[英]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'})

我也看到了類似的鏈接,我在下面引用它們,但我沒有得到任何關於如何解決它的線索。

鏈接1 | 鏈接2 | 鏈接3

PS值得注意的是,我嘗試安裝不同版本的 PyJWT,如1.7.12.0.0等,但它們都不能正常工作。

確保pip install --upgrade flask-jwt-extended也是如此。 最新版本的flask 2.xxPyJWT 2.xx應該可以正常工作。

版本:

Flask==2.0.1
PyJWT==2.1.0
Flask_JWT_Extended==4.2.1

有關更多詳細信息,您可以查看以下鏈接: link1 | 鏈接2

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM