首页 > 解决方案 > 模块烧瓶不会启动

问题描述

项目解释器和本地环境图像我在使用模块 flask 时遇到了一个真正的问题,我在论坛上尝试了很多解决方案,但没有一个有效。

我可以看到烧瓶已安装 pip 列表 - 在设置中显示烧瓶 模块烧瓶安装在项目解释器中当我输入代码时我可以看到模块出现

但是,当我启动代码时出现错误

没有名为“flask”的模块

我尝试重新安装pycharm 我尝试卸载并再次安装flask 仍然是同样的问题。有什么建议吗?

文件名 vsearch.py

这是代码:

from flask import Flask, render_template, request, escape

app = Flask(__name__)

def search4words(phrase: str, letters: str) -> set:
    return set(letters).intersection(set(phrase))

def log_request(req: 'flask_request', res: str) -> None:
    with open('vsearch.log', 'a') as log:
        print(req.form, req.remote_addr, req.user_agent, res, file=log, 
        sep='|')

@app.route('/search4', methods=['POST'])
def do_search() -> 'html':
    phrase = request.form['phrase']
    letters = request.form['letters']
    title = 'Here are your results:'
    results = str(search4words(phrase, letters))
    log_request(request, results)
    return render_template('results.html', the_phrase=phrase, 
                           the_letters=letters, the_title=title, 
                           the_results=results,)

@app.route('/')
@app.route('/entry')
def entry_page() -> 'html':
    return render_template('entry.html', the_title='Welcome back 
    AGAIN!!!!!')

@app.route('/viewlog')
def view_the_log() -> 'html':
    contents = []
    with open('vsearch.log') as log:
        for line in log:
            contents.append([])
            for item in line.split('|'):
                 contents[-1].append(escape(item))
    titles = ('Form Data', 'Remote_addr', 'User_agent', 'Results')
    return render_template('viewlog.html',
                           the_title = 'View log',
                           the_row_titles = titles,
                           the_data = contents,)

if __name__ == '__main__' :
    app.run(debug=True)

标签: pythonflaskpycharm

解决方案


您的问题是试图vsearch.py通过终端运行,而不是通过 PyCharm 的解释器(已正确安装)。为了利用虚拟环境,您应该将其配置为在运行代码时正确使用。

激活虚拟环境的方法有多种,请找到适用于您项目的方法。一个很好的来源是https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/26/python-virtual-env/


推荐阅读