Python 在WSGI中使用PyDBLite的Flask RESTful API失败

Python 在WSGI中使用PyDBLite的Flask RESTful API失败,python,api,flask,wsgi,flask-restful,Python,Api,Flask,Wsgi,Flask Restful,总结: 我使用PyDbLite为内存中的数据库创建了一个带有flaskrestful的超级简单API。当运行“pythonapi.py”时,它工作得很好。但当我将其放入apache2 wsgi时,它开始失败: 文件“/usr/local/lib/python2.7/dist packages/pydblite/pydblite.py”,第471行,在getitem 返回自我记录[键] AttributeError:“\u BasePy2”对象没有属性“records” 详情: 主应用程序:/va

总结:
我使用PyDbLite为内存中的数据库创建了一个带有flaskrestful的超级简单API。当运行“pythonapi.py”时,它工作得很好。但当我将其放入apache2 wsgi时,它开始失败:

文件“/usr/local/lib/python2.7/dist packages/pydblite/pydblite.py”,第471行,在getitem 返回自我记录[键] AttributeError:“\u BasePy2”对象没有属性“records”

详情: 主应用程序:/var/www/api/api.py

from flask import Flask
from flask_restful import Api, Resource
from datetime import datetime, timedelta
from pydblite.pydblite import Base

app = Flask(__name__)
api = Api = Api(app)

DATE_FORMAT = "%m/%d/%Y, %H:%M:%S"
MINUTES_TO_ADD = 0
db = Base("persist", save_to_file=False)
rec_id = 69

def setup_db():
  db.create("latch", "id", "IsSet", "LastSet")
  #db.insert(id=rec_id, IsSet=0, LastSet=datetime.now())
  rec_id = db.insert(IsSet=0, LastSet=datetime.now())

class LatchInputOn(Resource):
  def get(self, set):
    #records = db(id=rec_id)
    #record = records[0]
    record = db[rec_id]
    return {"IsSet": record["IsSet"], "LastSet": record["LastSet"].strftime(DATE_FORMAT)}

  def post(self, set):
    #records = db(id=rec_id)
    #record = records[0]
    record = db[rec_id]
    current_time = datetime.now()
    #if we are unsetting the latch we need to make sure that it has been
    # at least 2 minutes since the last set
    if set == 0:
      if record["IsSet"] == 1:
        #we are trying to unset the latch
        deadline_date = record["LastSet"] + timedelta(minutes = MINUTES_TO_ADD)
        if current_time >= deadline_date:
          db.update(record, IsSet=set, LastSet=current_time)
    else:
      db.update(record, IsSet=set, LastSet=current_time)

    return
api.add_resource(LatchInputOn, "/<int:set>")

if __name__ == "__main__":
  setup_db()
  app.run() #for wsgi
  #app.run(host="192.168.0.2", port="5000", debug=True) #for running natively
/etc/apache2/sites available/000-default.conf

WSGIDaemonProcess api user=pi group=pi threads=5 home=/var/www/api/ python-path=/var/www/api:/usr/bin/python
WSGIProcessGroup api
WSGIScriptAlias /api /var/www/api/api.wsgi
<directory /var/www/api>
WSGIProcessGroup api
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
</directory>
wsgidaemonprocessapi user=pi group=pi threads=5 home=/var/www/api/python path=/var/www/api:/usr/bin/python
WSGIProcessGroup api
WSGIScriptAlias/api/var/www/api/api.wsgi
WSGIProcessGroup api
WSGIApplicationGroup%{GLOBAL}
WSGIScript正在重新加载
命令拒绝,允许
通融
WSGIDaemonProcess api user=pi group=pi threads=5 home=/var/www/api/ python-path=/var/www/api:/usr/bin/python
WSGIProcessGroup api
WSGIScriptAlias /api /var/www/api/api.wsgi
<directory /var/www/api>
WSGIProcessGroup api
WSGIApplicationGroup %{GLOBAL}
WSGIScriptReloading On
Order deny,allow
Allow from all
</directory>