Python Flask 类型错误:'NoneType' 和 'float' 实例之间不支持'>='



请帮忙,其他类似的问题到目前为止都没有用。

我正在服务一个Python3 Flask服务器,它已经工作了一段时间了。

我刚刚开始实现一个虚拟环境,并完成了所有的pip安装,但是当我试图在venv中运行应用程序时,我的应用程序崩溃了,通常是:

Traceback (most recent call last):
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagesflaskapp.py", line 2095, in __call__
return self.wsgi_app(environ, start_response)
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagesflaskapp.py", line 2080, in wsgi_app
response = self.handle_exception(e)
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagesflaskapp.py", line 2076, in wsgi_app
ctx.push()
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagesflaskctx.py", line 434, in push
self.session = session_interface.open_session(self.app, self.request)
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagesflask_sessionsessions.py", line 344, in open_session
data = self.cache.get(self.key_prefix + sid)
File "C:UsersjasonAppDataLocalProgramsPythonPython310libsite-packagescachelibfile.py", line 194, in get
if pickle_time == 0 or pickle_time >= time():
TypeError: '>=' not supported between instances of 'NoneType' and 'float'

当我尝试获取会话数据时抛出错误。

所以我不确定是venv破坏了这个,还是现在我的机器出了问题,因为我回滚了我的git版本,甚至pip卸载了一些最近的导入。

以下是Flask初始化器和前两个函数:
from flask import Flask, request, session
from flask_session import Session
from functools import wraps
from datetime import timedelta
from json import dumps
from rest.api import api, users_api, setups_api, reports
import os
import shutil

# App Instance
app = Flask(__name__)
project_path = os.path.abspath('.')
app.config['APPLICATION_ROOT'] = project_path
app.config['SESSION_COOKIE_PATH'] = project_path + "/cookies/"
app.config['SESSION_TYPE'] = 'filesystem'
Session(app)

@app.before_request
def make_session_permanent():
app.permanent_session_lifetime = timedelta(hours=(5))
if request.path not in ["/api/login", "/api/get-session-data"]:
if not session.get('user'):
return "Sign in needed.", 403

@app.route("/api/login", methods=["POST", ])
def login():
# login things
session['user'] = "whatever"
return dumps("")

@app.route("/api/get-session-data")
def give_session_data():
session_data = {
"user": session.get("user")
}
return dumps(session_data)

要求如下:

bcrypt==3.2.0
cachelib==0.6.0
cffi==1.15.0
click==8.1.2
colorama==0.4.4
cryptography==36.0.2
cycler==0.11.0
distlib==0.3.4
et-xmlfile==1.1.0
filelock==3.7.1
Flask==2.1.1
Flask-Session==0.4.0
fonttools==4.33.3
greenlet==1.1.2
itsdangerous==2.1.2
Jinja2==3.1.1
kiwisolver==1.4.3
MarkupSafe==2.1.1
matplotlib==3.5.2
mysql-connector-python==8.0.28
mysqlclient==2.1.0
numpy==1.22.4
openpyxl==3.0.9
packaging==21.3
pandas==1.4.2
paramiko==2.10.3
Pillow==9.0.1
platformdirs==2.5.2
protobuf==3.20.0
psycopg2==2.9.3
pycparser==2.21
pycryptodome==3.14.1
PyJWT==2.4.0
PyNaCl==1.5.0
pyparsing==3.0.9
PyPDF2==1.27.3
python-dateutil==2.8.2
pytz==2022.1
six==1.16.0
SQLAlchemy==1.4.37
virtualenv==20.14.1
Werkzeug==2.1.0

提前感谢!

所以我实际上无法找出哪里出了问题。

解决方案是在Windows上卸载Python(版本3)并重新安装。

相关内容

最新更新