我有一個非常煩人的問題,我整天都在努力解決。我正在使用 Python 3.9.6 開發 Flask API;在 venv 中運行。我已經安裝了 pip 并匯入了 flask-jwt-extended 用于身份驗證,但是 VSCode 和 Pycharm 都找不到該模塊?pipfile 甚至說版本 4.1.0 包含在依賴項中。最初它說的是 3.7.0,所以我嘗試升級到 4.1,但沒有任何變化。我嘗試洗掉 JWT 和 PYJWT 并重新安裝它們,在有和沒有它們的情況下運行 flask-jwt-extended ......幾乎我能想到的所有組合,但它只是不斷拋出
ModuleNotFoundError: No module named 'flask_jwt_manager'
每一個。單身的。時間。我訪問了很多網站,有些人似乎遇到了同樣的情況,并且能夠通過各種方式解決它,但在我的情況下沒有一個有效。有誰知道這里發生了什么?這是我的 pipfile:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
flask-cors = "*"
bson = "*"
flask-pymongo = "*"
pymongo = {extras = ["srv"], version = "*"}
dnspython = "*"
flask-jwt-extended = "==4.3.1"
pyjwt = "*"
[dev-packages]
[requires]
python_version = "3.9"
和我的 api 頂部的匯入:
import datetime
import json
import pymongo
from flask_jwt_extended import JWTManager
from bson.objectid import ObjectId
from flask import Flask, jsonify, make_response, Response, request
from flask_cors import CORS
from pymongo import ReturnDocument
from werkzeug.security import generate_password_hash, check_password_hash
根據我的閱讀,flask-jwt-extended 需要 PyJWT,但我已經嘗試過安裝和不安裝它;沒有運氣。我是新手,如果我錯過了一些愚蠢的東西,請原諒我。(如果重要的話,在 2019 年的 MacBook Pro 上;人們告訴我 M1 芯片過去曾引起過問題)
uj5u.com熱心網友回復:
所以好訊息是依賴沒有問題;如果你有 docker,你可以運行下面的腳本來證明它正在作業。
因此,它必須是環保的。您確定使用正確的 virtualenv 嗎?你必須通過 pipenv 運行你的 python 來選擇正確的環境,或者這樣配置你的 IDE。
PROJECT_NAME=check-pipenv
PYTHON_VERSION=3.9.6
cd "$(mktemp -d)" || exit
cat << EOF > Pipfile
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
flask = "*"
flask-cors = "*"
bson = "*"
flask-pymongo = "*"
pymongo = {extras = ["srv"], version = "*"}
dnspython = "*"
flask-jwt-extended = "==4.3.1"
pyjwt = "*"
[dev-packages]
[requires]
python_version = "${PYTHON_VERSION}"
EOF
cat << 'EOF' > ${PROJECT_NAME}.py
import datetime
import json
import pymongo
from flask_jwt_extended import JWTManager
from bson.objectid import ObjectId
from flask import Flask, jsonify, make_response, Response, request
from flask_cors import CORS
from pymongo import ReturnDocument
from werkzeug.security import generate_password_hash, check_password_hash
print('Working')
EOF
cat << EOF > Dockerfile
FROM python:${PYTHON_VERSION}-slim-buster
WORKDIR /workdir
COPY Pipfile Pipfile
RUN pip install pipenv
RUN pipenv install && pipenv run pip freeze
COPY . .
CMD [ "pipenv", "run", "python", "${PROJECT_NAME}.py"]
EOF
DOCKER_BUILDKIT=0 docker build --tag ${PROJECT_NAME}:latest .
docker run --rm --name ${PROJECT_NAME} ${PROJECT_NAME}:latest
印刷:
Working
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/428772.html
上一篇:ECharts回圈push資料到series,從而實作series的動態處理之(一)(先用給定資料,后期用后端回傳資料)
