我的Flask App服务器正在运行,但我有三个无法解析的导入。
我试过:
1.分别重新安装导入
1.重新安装requirements.txt
1.我为VSCodeWorkspace配置了一个额外的项目文件夹路径(现在在项目文件夹的根目录下有一个.vscode文件,而以前没有)
1.我已经在VSCode中更新了venv路径设置
下面是我的文件结构:
- > .vscode
- > client *(React front end)*
- > data
- > server *(Python/Flask back end)*
- > app
- > venv
- config.py
- README.md
- requirements.txt *(this contains the 3 unresolved, along with several that are resolving)*
- .env
- .flaskenv
- .gitignore
- requirements.txt
不幸的是,这些事情都没有解决我的进口问题,我的路线仍然不起作用。任何想法/建议?
9条答案
按热度按时间l7mqbcuq1#
1.打开命令面板(Ctrl+Shift+P),然后选择Python:选择Interpreter。从列表中,选择项目文件夹中以
.env
开头的虚拟环境。1.运行终端:新建集成终端(Ctrl+Shift+
或从命令面板),创建一个终端,并通过运行其激活脚本自动**激活虚拟环境**。 1.使用
pip install命令安装
sqlalchemy和
mongoengine`。一旦安装成功,将有intellisense当您导入它们,并没有警告显示。此外,文件夹
.vscode
用于存储Workspace设置以及调试和任务配置。vd8tlhqk2#
要解决此问题,请执行以下步骤:
1.按键盘上的Ctrl+Shift+P打开命令选项板。
1.在命令选项板中,选择Python:清除缓存和重新加载窗口。
b4lqfgs43#
如果您使用的是虚拟环境,即使在尝试pip安装所有必要的库之后,您必须选择虚拟环境文件夹中存在的python解释器。
1.(Ctrl+Shift+P)然后搜索“Python:选择解释器”
1.单击“输入解释器路径”,然后单击“查找..”。
1.导航到项目虚拟环境文件夹
1.进入“Scripts”文件夹,然后选择“python.exe”作为解释器。
这些步骤允许您选择与项目的虚拟环境相关联的正确python解释器。
zhte4eai4#
我在项目存储库的.vscode文件夹中包含的settings.json文件中指定了我正在使用的Python解释器的路径。
感谢以下资源!https://dev.to/climentea/how-to-solve-pylance-missing-imports-in-vscode-359b
ebdffaop5#
我在升级我的本地python版本(brew -> manual install)后遇到了这个错误,即使指定的解释器是 already
/usr/local/bin/python3
。CMD + Shift + P
并重新选择[相同]解释器修复了错误。事后看来,我怀疑重新启动VSCode也可以解决这个问题。🤷♂️
5m1hhzi46#
我得到了非常相同的错误,你有和这里提出的解决方案都没有工作我.**我在Windows机器上工作。我使用miniconda来管理我的虚拟环境。当我编码时,我从命令提示符(cmd)启动每个程序,包括Vscode。即使坚韧Vscode内部,Python环境也是正确的,我也会得到你提到的同样的导入错误。有趣的是,我在运行代码时没有遇到任何问题,它像往常一样工作。但是在编码时,我无法看到与导入错误相关的库的函数。
解决方案:
在命令提示符下启动Vscode之前,请为项目激活正确的conda env。
为什么会发生这种情况?
我相信这是因为当你在启动Vscode之前没有激活任何conda env。基本conda env作为默认值加载。这会生成导入冲突。(您可以检查一下,将这些包安装到环境中,并像您一直在做的那样运行所有内容)
rqmkfv5c7#
可能VSCode使用了错误的Python路径。如有必要,应使用基本解释器而不是vscode解释器。
sxissh068#
在验证了我的Python解释器在VS Code中的来源正确之后,我简单地清理了我的env并在本地重新安装了项目,导入错误消失了。我个人有一个奇怪的VS代码/Pylance缓存,重新安装依赖项和模块为我修复了它。
wz8daaqr9#
这可能与您的情况无关,但如果您在VS Code中打开一个交互式窗格,则无论您将其设置为什么,VS Code都将坚持使用该环境。因此,请关闭交互式窗口,切换到您想要使用的环境,然后再切换回该环境。