VS Code无法识别Python虚拟环境包-显示红色下划线

时间:2020-02-11 19:19:19

标签: python visual-studio-code

我安装了python虚拟环境。我用vs代码。我在代码中导入了scrapy,而vs代码无法识别该模块。实际上,当我运行它时,它运行良好。 scrapy crawl tester Just,vs代码显示红色下划线,表示“无法导入scrapy”,所以这只是vs代码问题,而不是venv或scrapy软件包安装问题。 enter image description here

此代码可以正常工作,并且reallay,scrapy可以毫无问题地导入。这只是vs代码问题。谢谢。

4 个答案:

答案 0 :(得分:2)

通过使用CTRL + Shift + P向项目添加“ Python:选择解释器”,您也许可以解决问题。

答案 1 :(得分:0)

遇到相同的问题-在VS Code中选择了正确的Python解释器,pip安装了所有所需的Python库,但是import在VS Code中仍带有下划线。

您需要做什么

对我有用的是确保您在此VS Code实例(我在使用pylint)中使用的linter来自虚拟环境的bin文件夹,而不是其他位置。

如何做

我将使用指向所需虚拟环境/User/ProjectFolder/env的绝对路径作为示例。

要检查您是否满足您需要做什么中所述的条件,请按settings.json + 在VS Code中切换,文件:

  1. 确保选择了正确的Python解释器。即"python.pythonPath":/User/ProjectFolder/env/bin/python3
  2. 请确保短绒棉((例如pylint)位于该bin文件夹中,而不是其他位置。即"python.linting.pylintPath":/User/ProjectFolder/env/bin/pylint类似"python.linting.pylintPath":/usr/local/bin/pylint

这意味着您必须在虚拟环境中安装所需的linter。

希望这会有所帮助。

答案 2 :(得分:0)

如果你创建了一个虚拟环境并激活它

在 macOS/Linux 上输入 which python

在 Windows 上输入 where python

在激活的终端会话中。

(env) userpc@pc:~$ which python

/home/userpc/Desktop/foldername/env/bin/python

在 VSCode 中按 Ctrl+Shift+P,在 >Select Interpreter 下粘贴您使用前一个命令收到的位置。

完成后,重新启动 VSCode。 VSCode 还会要求您在您的环境中安装 pylint,如果没有,您可以通过激活您的环境并键入

pip install pylint

在激活的终端会话中。

答案 3 :(得分:0)

我尝试了对我有用的@cleon-w 的答案。 (感谢克莱昂)

我在 Mac M1 (Big Sur) 上使用 pyenv 和 vscode。 vscode 无法解决 pyenv 提供的 python 路径,所以我查看了 pyenv 脚本以找到绝对路径 到底层 python 和 pylint 文件。

正如@Cleon W 所说,我确保 pylint 和 python 在同一个 bin 目录中。

然后编辑 VS Code settings.json 以直接指向它们(绕过 .pyenv)并且可以找到导入。

settings.json (vscode)

 "python.defaultInterpreterPath": "/Users/USERNAME/.pyenv/shims/python",
 "python.pythonPath": "/Users/USERNAME/.pyenv/versions/3.9.1/bin/python",