首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:“NoneType”和“NoneType”实例之间不支持“>=”

Python:“NoneType”和“NoneType”实例之间不支持“>=”
EN

Stack Overflow用户
提问于 2022-06-21 10:36:29
回答 1查看 227关注 0票数 1

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

我正在为一个Python3烧瓶服务器提供服务,该服务器已经正常工作了一段时间。

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

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 2095, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 2080, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\app.py", line 2076, in wsgi_app
    ctx.push()
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\flask\ctx.py", line 434, in push
    self.session = session_interface.open_session(self.app, self.request)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\flask_session\sessions.py", line 344, in open_session
    data = self.cache.get(self.key_prefix + sid)
  File "C:\Users\jason\AppData\Local\Programs\Python\Python310\lib\site-packages\cachelib\file.py", line 194, in get
    if pickle_time == 0 or pickle_time >= time():
TypeError: '>=' not supported between instances of 'NoneType' and 'float'

当我试图获取会话数据时,会引发错误。

所以,我不确定是因为复仇者破坏了这一点,还是现在我的机器出了点问题,因为我在git版本上做了回滚,甚至还卸载了最近的一些进口产品。

下面是Flask初始化程序和前两个函数:

代码语言:javascript
复制
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)

Venv的要求是:

代码语言:javascript
复制
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

提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-22 08:30:11

所以我不知道到底出了什么问题。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72699297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档