【问题标题】:How do I get into the environment VS Code is using for pylance?如何进入 VS Code 用于 pylance 的环境?
【发布时间】:2020-09-27 12:51:33
【问题描述】:

我正在使用 pylance 检查我的 Python 代码。它告诉我

无法解析导入“astor”

当我在 VS Code 中切换到终端时:

我很确定问题在于它使用了另一个环境。我默认使用 pyenv,我想如果 vscode 会使用相同的环境。但至少我需要能够访问它用来安装包的环境。

有趣的是,状态栏似乎显示了其他内容,因为在那个环境中我安装了 astor:

【问题讨论】:

  • 在 macOS 上,我遇到了同样的问题并通过输入 /usr/local/Cellar/python@3.8/3.8.5/Frameworks/Python.framework/Versions/3.8/bin/python3.8 /Users/miguel-trejo/.vscode/extensions/ms-python.python-2020.9.111407/pythonFiles/pyvsc-run-isolated.py pip install -U astor --user 解决了,我看到 pyvsc-run-isolated.py 使用 runpy 来执行当前的 python 脚本,我认为 Cellar文件夹正在指定 vscode 正在使用的解释器。

标签: python visual-studio-code pyenv


【解决方案1】:

我发现这个链接告诉我们应该添加一个额外的路径。

这些额外的根必须指定给语言服务器。这 最简单的方法(使用 VS Code Python 扩展)是 创建一个工作区配置,其中设置 python.analysis.extraPaths。例如,如果一个项目使用源 目录,然后在工作区创建一个文件 .vscode/settings.json 内容:

{
     "python.analysis.extraPaths": ["./sources"]
}

https://github.com/microsoft/pylance-release/blob/master/TROUBLESHOOTING.md#unresolved-import-warnings

【讨论】:

  • 这就是答案!
【解决方案2】:

在 VSCODE 上解决此问题的另一种简单方法:

  • ctrl + ','
  • 输入“额外路径”
  • 向下你应该有类似“添加元素”的东西(我有西班牙语的 VSCode,所以在我的例子中我有“Agregar elemento”)
  • 输入“./sources/”

此外,如果您在导入本地文件时遇到问题,您可以做同样的事情并添加您的工作目录路径来解决问题:) 只需在 './sources' 之外添加 'C: your working directory goes here'同样的方式;)

【讨论】:

    【解决方案3】:

    我发现一件事解决了我的问题和你的一样

    1. 转到您的工作环境(我的是 pipenv shell),然后 pip show 'yourmodule' 检查您的模块是否已安装
    2. 如果它的安装副本Location:路径
    3. 进入设置ctrl+','
    4. 输入额外路径
    5. Add Item粘贴你复制的路径字符串就ok了。

    我们已经添加了实际安装路径作为额外的导入搜索解析路径,因此将扫描此路径以查找导入

    现在您的模块应该已解析。这对我有用。

    【讨论】:

      猜你喜欢
      • 2022-08-12
      • 2021-03-24
      • 2019-11-25
      • 2020-12-02
      • 1970-01-01
      • 1970-01-01
      • 2022-07-12
      • 2022-07-01
      • 2019-05-09
      相关资源
      最近更新 更多