我想在VSCode中使用Python和Flask调试一个应用程序。我已经安装了Flask,应用程序通过cmd运行得很好。但是,当我尝试通过VSCode调试它时,它给出了以下错误:
cd 'c:\Users\Aditi\CleanHandymanApp';
${env:FLASK_APP}='NewApp'; ${env:PYTHONIOENCODING}='UTF-8';
${env:PYTHONUNBUFFERED}='1'; & 'C:\Users\Aditi\envs\CleanHandymanApp\Scripts\python.exe'
'c:\Users\Aditi\.vscode\extensions\ms-python.python-2018.10.1\pythonFiles\experimental\ptvsd_launcher.py' '--client' '--host'
'localhost' '--port' '63143' '-m' 'flask' 'run' '--no-debugger' '--no-reload'
No module named flask
你能帮帮我吗。
7条答案
按热度按时间iaqfqrcu1#
如果您安装了python3版本的
flask
,但Visual Studio代码尝试使用python2运行您的项目,则可能会出现此错误消息。确保在编辑器中选择正确的python版本,这可以通过在命令面板中运行命令
Python: Select Interpreter
(Ctrl+Shift+P)来完成。bihw5rsg2#
激活您的virtualenv并运行
重新安装venv中的所有软件包。
出于某种原因,VS Code认为我第一次调试时丢失了所有的包,尽管应用程序在本地运行良好。
jdg4fx2g3#
如果你把Flask加载到一个有子文件的文件夹中,有时候你会得到这个错误。例如,如果你把flask加载到一个有虚拟shell示例的父文件夹中,但是你在子文件中运行你的代码(假设父文件名为crypto_files,里面有一个名为www.example.com的python源代码文件blockchain.py),那么为了让flask正常运行,你必须像这样运行这个文件:
python加密文件/blockchain.py
这允许您的计算机看到Flask在crypto_files中运行,但也可以运行blockchain.py。
或者,您可以将Flask重新加载到子文件中...blockchain.py,然后从子文件中运行它。
这种复杂性主要是由于现代的“虚拟示例”和shell,它们基本上就像是在你的实际硬机器中创建一个虚拟计算机。Flask这样做是为了避免到处运行,而且由于Flask是模块化的,它允许你的每个项目运行不同的Flask模块化配置,以精确地适合每个项目。替代方案将是可怕的:你必须为每个项目加载最胖版本的Flask,每个项目都要加载几十个附加组件,因此你所有的git和项目都要有大量的额外代码。Flask的核心部分被构建得非常小,以避免这个问题(太冗长了!)。
qzwqbdag4#
如果您在虚拟环境中安装了flask,则应先将其激活。
jum4pzuy5#
另一个选项是在c:\用户\Aditi.vscode\扩展\ms-python.python-2018.10.1\pythonFiles\experimental\ptvsd_launcher.py中添加系统路径附加(“d:/programas/anaconda 3/lib/站点包”)
因为“d:/programas/anaconda 3/lib/site-packages”应该由您的本地python包修改。
kxeu7u2r6#
在终端中使用此命令,而不是选择
run code
:python3 "insert your file name here without the quotes"
例如:
python3 example.py
btxsgosb7#
我遇到了@confusius提到的问题的一个变体,我安装了Python 3.9和Python 3.10,我在Python 3.10中添加了Flask,我使用了一个选择Python 3.10的vscode工作区,我在另一个不同的vscode工作区中启动了另一个项目,它默认选择了Python 3.9。我没有注意到,因为我以为它会选择我已经在另一个工作区中选择的相同Python。