project interpreter and local env IMAGE我在使用模块flask时遇到了一个真正的问题,我在论坛上尝试了很多解决方案,但没有一个起作用。
我可以看到烧瓶已安装 点列表-显示烧瓶 在设置中,模块烧瓶安装在项目解释器中 当我键入代码时,我可以看到模块启动
但是,当我启动代码时出现错误
没有名为“ 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)
答案 0 :(得分:1)
您的问题是尝试通过终端而不是通过PyCharm的解释器(已正确安装)运行vsearch.py
。为了利用虚拟环境,您应该将其配置为在运行代码时正确使用。
有多种激活虚拟环境的方法,因此请找到适用于您的项目的方法。一个很好的来源是https://uoa-eresearch.github.io/eresearch-cookbook/recipe/2014/11/26/python-virtual-env/。