这是我的代码。基本上我在那里有Shebang线,因为psycopg2没有它就无法工作。
但现在当我在那里有这条线时,它不允许我运行数据库,它只是说“没有名为'flask'的模块”
#!/usr/bin/python3.4
#
# Small script to show PostgreSQL and Pyscopg together
#
from flask import Flask, render_template
from flask import request
from flask import *
from datetime import datetime
from functools import wraps
import time
import csv
import psycopg2
app = Flask(__name__)
app.secret_key ='lukey'
def getConn():
connStr=("dbname='test' user='lukey' password='lukey'")
conn=psycopg2.connect(connStr)
return conn
@app.route('/')
def home():
return render_template(index.html)
@app.route('/displayStudent', methods =['GET'])
def displayStudent():
residence = request.args['residence']
try:
conn = None
conn = getConn()
cur = conn.cursor()
cur.execute('SET search_path to public')
cur.execute('SELECT stu_id,student.name,course.name,home_town FROM student,\
course WHERE course = course_id AND student.residence = %s',[residence])
rows = cur.fetchall()
if rows:
return render_template('stu.html', rows = rows, residence = residence)
else:
return render_template('index.html', msg1='no data found')
except Exception as e:
return render_template('index.html', msg1='No data found', error1 = e)
finally:
if conn:
conn.close()
#@app.route('/addStudent, methods =['GET','POST']')
#def addStudent():
if __name__ == '__main__':
app.run(debug = True)
答案 0 :(得分:0)
这是一个环境问题,而不是烧瓶,postgres或shebang问题。正在调用特定版本的Python,并且没有为其库提供正确的路径。
根据您所使用的平台,将Shebang更改为#! /usr/bin/env python3
可以解决问题,但如果没有(很可能不会,尽管现在使用env
被视为更好/便携式练习),那么您可能需要在代码中手动添加Python3库位置。
sys.path.append("/path/to/your/python/libs")
如果你知道你的Python库在哪里(或者可能是某个地方特别安装了烧瓶?)那么你可以将它添加到路径中,并且在你添加到路径的行之后的导入将在搜索模块中包含它。 / p>