2017-02-03 98 views
0

我正在学习使用Python here来创建API。我已经得到了一切准备,并下载了数据库,但是当我跑我的应用程序,我发现了以下错误:无法加载插件:sqlalchemy.dialects:sqlite3

Traceback (most recent call last): 
    File "app.py", line 7, in <module> 
    e = create_engine("sqlite3:///salaries.db") 
    File "C:\Python27\lib\site-packages\sqlalchemy\engine\__init__.py", line 387, in create_engine 
    return strategy.create(*args, **kwargs) 
    File "C:\Python27\lib\site-packages\sqlalchemy\engine\strategies.py", line 56, in create 
    entrypoint = u._get_entrypoint() 
    File "C:\Python27\lib\site-packages\sqlalchemy\engine\url.py", line 139, in _get_entrypoint 
    cls = registry.load(name) 
    File "C:\Python27\lib\site-packages\sqlalchemy\util\langhelpers.py", line 212, in load 
    (self.group, name)) 
sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:sqlite3 

我在做什么错的,它不会加载正确的插件?

from flask import Flask, request 
from flask_restful import Resource, Api 
from sqlalchemy import create_engine 
from json import dumps 


e = create_engine("sqlite3:///salaries.db") 

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


class DepartmentsMeta(Resource): 
    def get(self): 
     conn = e.connect() 
     query = conn.execute("select distinct DEPARTMENT from salaries") 
     return {"departments": [i[0] for i in query.cursor.fetchall()]} 


class DepartmentSalary(Resource): 
    def get(self, department_name): 
     conn = e.connect() 
     query = conn.execute("select * from salaries where Department='%s'" % department_name) 
     result = {"data": [dict(zip(tuple(query.keys()), i))] for i in query.cursor} 
     return result 


api.add_resource(DepartmentSalary, "/dept/<string:department_name>") 
api.add_resource(DepartmentsMeta, "/department") 


if __name__ == "__main__": 
    app.run() 

回答

4

请尝试更换这行:

e = create_engine("sqlite:///salaries.db") 

e = create_engine("sqlite3:///salaries.db") 

相关问题