2017-02-03 511 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")