使用 pandas 和 Google App Engine 时出现 AttributeError
AttributeError when using pandas and Google App Engine
我了解未包含 Pandas,并且相信我已通过将模块添加到应用程序的 lib 目录并添加
来正确包含该库
from google.appengine.ext import vendor
vendor.add('lib')
至appengine_config.py - 其他模块似乎没有问题。
当我 运行 我的应用程序时,显示以下堆栈跟踪:
ERROR 2016-12-15 23:05:31,038 app.py:1587] Exception on / [GET]
Traceback (most recent call last):
File
".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1988, in
wsgi_app
response = self.full_dispatch_request()
File
".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1641, in
full_dispatch_request
rv = self.handle_user_exception(e)
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1544, in
handle_user_exception
reraise(exc_type, exc_value, tb)
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1639, in
full_dispatch_request
rv = self.dispatch_request()
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1625, in
dispatch_request
return self.view_functionsrule.endpoint
File ".../PycharmProjects/fpl-flask-app/main.py", line 13, in index
datar = pandas.read_sql('SELECT p.nationality, SUM(s.mins_played) AS mins_played
FROM CurrentSeasonStats s left join Player p ON
s.Player_pid = p.pid GROUP BY
p.nationality', con)
AttributeError: 'module' object has no attribute 'read_sql'**
这是我的代码:
from flask import Flask, request, render_template
import pandas
from sqlalchemy import create_engine
import pymysql
import random
app = Flask(__name__)
@app.route('/')
def index():
con = create_engine('mysql+pymysql://user:pass@ix.cs.uoregon.edu:port/fpl', echo=False)
datar = pandas.read_sql('SELECT p.nationality, SUM(s.mins_played) AS mins_played FROM CurrentSeasonStats s left join Player p ON s.Player_pid = p.pid GROUP BY p.nationality', con)
return render_template('index.html', table=datar)
if __name__ == '__main__':
app.run()
有什么想法吗?
我 copy-pasted 将 pandas 库的二进制骨架版本放入 /lib/,这就是 pandas 函数中的 none 起作用的原因。
这是我没有使用虚拟环境的直接而恼人的结果...
使用虚拟环境,孩子们!
我了解未包含 Pandas,并且相信我已通过将模块添加到应用程序的 lib 目录并添加
来正确包含该库from google.appengine.ext import vendor
vendor.add('lib')
至appengine_config.py - 其他模块似乎没有问题。
当我 运行 我的应用程序时,显示以下堆栈跟踪:
ERROR 2016-12-15 23:05:31,038 app.py:1587] Exception on / [GET]
Traceback (most recent call last):
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1988, in wsgi_app
response = self.full_dispatch_request()
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1641, in full_dispatch_request
rv = self.handle_user_exception(e)
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1544, in handle_user_exception
reraise(exc_type, exc_value, tb)
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1639, in full_dispatch_request
rv = self.dispatch_request()
File ".../PycharmProjects/fpl-flask-app/lib/flask/app.py", line 1625, in dispatch_request
return self.view_functionsrule.endpoint
File ".../PycharmProjects/fpl-flask-app/main.py", line 13, in index
datar = pandas.read_sql('SELECT p.nationality, SUM(s.mins_played) AS mins_played
FROM CurrentSeasonStats s left join Player p ON s.Player_pid = p.pid GROUP BY
p.nationality', con)
AttributeError: 'module' object has no attribute 'read_sql'**
这是我的代码:
from flask import Flask, request, render_template
import pandas
from sqlalchemy import create_engine
import pymysql
import random
app = Flask(__name__)
@app.route('/')
def index():
con = create_engine('mysql+pymysql://user:pass@ix.cs.uoregon.edu:port/fpl', echo=False)
datar = pandas.read_sql('SELECT p.nationality, SUM(s.mins_played) AS mins_played FROM CurrentSeasonStats s left join Player p ON s.Player_pid = p.pid GROUP BY p.nationality', con)
return render_template('index.html', table=datar)
if __name__ == '__main__':
app.run()
有什么想法吗?
我 copy-pasted 将 pandas 库的二进制骨架版本放入 /lib/,这就是 pandas 函数中的 none 起作用的原因。
这是我没有使用虚拟环境的直接而恼人的结果...
使用虚拟环境,孩子们!