这是我的密码。基本上我有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)

最佳答案

这是一个环境问题,而不是酒瓶、酒瓶或酒瓶的问题。正在调用特定版本的Python,但没有为其库提供正确的路径。
根据您所处的平台,将shebang更改为#! /usr/bin/env python3可以解决问题,但如果不是(很可能不是,尽管现在使用env被认为是更好的/可移植的做法),那么您可能需要在代码中手动添加Python3 libs位置。

sys.path.append("/path/to/your/python/libs")

如果你知道你的Python库在哪里(或者flask安装在什么特殊的地方?)然后,您可以将其添加到路径中,并在添加到路径的行后面的导入将其包含在其对模块的搜索中。

10-08 08:02