Shebang line#!/ usr / bin / python3阻止服务器运行

时间:2015-04-10 11:52:29

标签: python postgresql flask line shebang

这是我的代码。基本上我在那里有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)

1 个答案:

答案 0 :(得分:0)

这是一个环境问题,而不是烧瓶,postgres或shebang问题。正在调用特定版本的Python,并且没有为其库提供正确的路径。

根据您所使用的平台,将Shebang更改为#! /usr/bin/env python3可以解决问题,但如果没有(很可能不会,尽管现在使用env被视为更好/便携式练习),那么您可能需要在代码中手动添加Python3库位置。

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

如果你知道你的Python库在哪里(或者可能是某个地方特别安装了烧瓶?)那么你可以将它添加到路径中,并且在你添加到路径的行之后的导入将在搜索模块中包含它。 / p>