如何切换到虚拟环境并让Python识别Flask已安装?
我现在很困惑,因为我按照网上每个论坛帖子的建议都做了。整个过程我都严格按照步骤来,所有设置看起来也都没问题,但Pycharm就是不认我已经安装了Flask。以下是我的代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return '<h2>Welcome to my web app</h2>'
Flask下面有个波浪线,代码运行时出错。
"ModuleNotFoundError: No module named 'flask'"
我创建了一个叫做new_env的虚拟环境,并通过命令 .\new_env\Scripts\activate 激活了它。不过在Pycharm里,它还是显示库的根目录是venv,这应该是新建项目时的默认设置吧。这是我的屏幕截图
有没有什么建议?我想用Pycharm自带的Python终端来解决这个问题,但在终端里似乎没有办法做到这一点。只能通过进入实际的设置,费劲地在一个傻乎乎的图形界面里摸索。
我试着在网上找如何通过终端更改库的根目录,但没找到相关信息。应该有办法的。
1 个回答
问题
pythonProject
|-new_venv
|- app.py
看起来你的 app.py 文件放在了 new_env 文件夹里,这样是不对的。
解释
Python 的虚拟环境是一个用来存放特定版本的 Python 环境和项目所需的依赖包的文件夹。你的应用程序不应该直接放在虚拟环境里,除非你知道自己在做什么。
解决步骤
你可以按照以下步骤将配置恢复到正常状态:
把你的 app.py 文件移动到项目的根目录。
删除
new_env
和venv
这两个文件夹。我们会重新创建它们。用 Pycharm 重新创建
.venv
虚拟环境:依次点击 文件 -> 设置 -> 项目: 名称 -> Python 解释器 -> 添加解释器
现在你的目录大致应该是这个样子的:
pythonProject
|-.venv
|- app.py
- 在虚拟环境 ".venv" 中安装 flask。重新打开 Pycharm 的终端,输入行应该以 .venv 开头,输入
pip install flask
这样应该就能让你的程序正常运行了。
如果你感兴趣,我写了一份更详细的指南,可以在这里查看: https://github.com/ZacharyACoon/documentation/blob/main/it/code/python/managing_python_packages_and_your_code.md