如何解决 VSCode 中未解析的导入?

Max*_*Max 9 flask visual-studio-code python-3.7

我正在尝试学习 Flask,我使用 Ubuntu 19.04,我正在 VSCode 中编写代码。按照附带的教程进行操作后,我一直遇到问题:未解决的导入“flask_mysqldb”,wtforms 和 passlib 也是如此。

我已经安装了所有要求,只是为了检查,我尝试再次安装并收到消息:'Requirement already meet: mysqlclient in "someplace"/.local/lib/python2.7/site-packages

我想也许我使用的是 python 3.7,但它自己安装在 2.7 中?但它从不问我在哪里安装。

这是我正在关注的视频教程:https : //www.youtube.com/watch?v=addnlzdSQs4

from flask import Flask, render_template, flash, redirect, url_for, session, loggin
from data import Articles
from flask_mysqldb import MySQL
from wtforms import Form, StringField, TextAreaField, PasswordField, validators
from passlib.hash import sha256_crypt
Run Code Online (Sandbox Code Playgroud)

前两个导入工作正常,其他导入用绿色下划线并收到错误消息。

前任:

未解决的导入'flask_mysqldb'

未解决的导入“wtforms”

未解决的导入“passlib.hash”

小智 21

您是否尝试将 VSCode 中的解释器设置为正确的值(包括您的 virtualenv,如果有的话)?

打开命令面板 ( Ctrl-Shift-P ) 并选择“Python: Select Interpreter”。

有关更多详细信息,请参阅:https : //code.visualstudio.com/docs/python/environments

  • 我发现安装新软件包时往往会发生这种情况,因此我在检查解释器后重新启动 vs-code。 (4认同)

小智 11

我已经多次遇到这个问题,它通常只适用于“退出”VSCode,因为 VSCode 有时不检查路径。它使用“旧”设置或“路径”。通过退出程序并重新启动它,它会更新它并且它可以工作(如果是这个问题)


iom*_*omv 6

我在使用 VSCode 和 python3 venv 时偶然发现了这个问题。

前提:虽然 @truth 答案为我指明了正确的方向,但我仍然无法选择正确的解释器:对我来说正确的解释器应该是在我的 venv 文件夹中创建的解释器,但它没有显示在 venv 选项中,即使我通过 GUI 浏览到正确的文件夹,它不允许我选择它(因为它可能是一个符号链接?)

TLDR:对于像我这样默认安装了 python2、通过brew 安装了 python3 并使用虚拟环境(由 生成python3 -m venv)的 mac 用户,解决方案如下:

  • 保存所有工作并完全关闭 VSCode ( command+Q )
  • 打开终端并导航到项目文件夹。确保您的 virtualenv 已激活
  • 从根文件夹中打开项目:code .
  • 打开命令选项板( command-Shift-p )并输入“Python selectterpreter”,然后按 Enter
  • 从引用您的 venv 文件夹的列表中选择解释器

完成后,您的依赖关系现在应该得到解决。


Max*_*Max 2

在尝试了很多事情但不起作用后,最终重新启动了一切。把所有文件都删了,再重来一次。不知怎的,它奏效了。一定是设置时出现了一些错误。