【问题标题】:IntelliSense not working with Visual Studio Code/embeddable pythonIntelliSense 不适用于 Visual Studio Code/可嵌入 python
【发布时间】:2019-01-25 18:08:51
【问题描述】:

我想在 Windows 10 环境中使用可嵌入版本的 python (3.7.0),而不需要安装程序/管理员权限。 Visual Studio Code 就是上面要配置的python解释器的IDE。

要安装可嵌入python,我按照this answer 和这个issue 的说明操作,它在CLI 上运行良好。

根据这个site设置VS Code:

  • 已安装 Python extension 和 linter
  • 在PATH环境中添加了我的python文件夹(python.exe的根目录)和子文件夹\ScriptsC:/my/path/to/Python,C:/my/path/to/Python/Scripts
  • 在用户设置中这样配置解释器:python.pythonPath": "C:/my/path/to/Python/python.exe

示例脚本:

msg = "Hello World"
print(msg)

在 VS Code 中,我可以通过右键单击活动编辑器来执行脚本 -> “在终端中运行 Python 文件”。

但我没有智能感知:

当我打印sys.path 时,它给了我

C:\my\path\to\Python\python37.zip
C:\my\path\to\Python\
C:\my\path\to\Python\lib\site-packages

Python extension 的文档没有说明不支持可嵌入 python:

安装 Python 3 版本(本教程为此编写)。 选项包括:

(所有操作系统)从 python.org 下载;通常使用 下载第一个出现在页面上的 Python 3.6.5 按钮(或 不管是最新版本)。

...

有什么办法解决这个问题吗?

【问题讨论】:

  • 你在新的语言服务器上试过了吗?您是否尝试过其他示例(如果我在重新加载后立即尝试然后不再尝试,我可以使扩展不适用于 prin)。
  • 我不确定您所说的语言服务器是什么意思。但我使用最新的 VS Code 1.26.1 和 python 扩展 2018.7.1(2018 年 7 月 23 日)和 python 3.7.0。重试了几次自动完成,用另一个文件(./test2.py)进行了相对导入,但不幸的是它没有改变任何东西。我注意到:如果我尝试导入 argparse 包,它会显示 E0401:Unable to import 'argparse'。这不是可嵌入 python 的一部分吗?
  • 另外:如果我对发行版“WinPython”做同样的事情,它可以完全作为嵌入式版本运行(只是在 VS Code 中引用了 python.exe)并且开箱即用。但我真的更愿意坚持使用“原始”可嵌入 python。
  • 当您说“可嵌入 Python”时,您是指来自 @​​987654327@ 的可嵌入 zip 文件吗?如果是这样,那么我不希望它工作,因为 Python 的标准库放在一个 zip 文件中,我们不支持它。如果您希望我们支持此功能,请随时在我们的问题跟踪器上提出功能请求。
  • 我所说的“语言服务器”可以在我们的July release blog post中找到。

标签: python python-3.x visual-studio-code


【解决方案1】:

我使用的是 Anaconda 的 Python 版本,但也无法让 Intellisense 显示任何内容,类似于您所描述的内容。

最后,我让 Python intellisense 开始在 VS Code 中工作的方式是:

  1. 打开终端(查看菜单 => 终端)
  2. 输入conda init powershell
  3. 重启 VS 代码

之后,Python 智能感知开始正常工作。

【讨论】:

  • 这对我有用,困扰了我几天,谢谢!
【解决方案2】:

我遇到了 IntelliSense 无法正常工作的同样问题 - 当主动要求使用 ctrl + 空格自动完成时,什么也不显示并且“正在加载...”。

我使用的是 VSCode 1.25.1、可嵌入的 Python 3.8.6 和 Python 扩展 2018.7.1

简而言之,Python Extension 2018.7.1 不支持 python 3.8

虽然 IntelliSense 在 VSCode 上静默失败,但打开帮助 > 切换开发人员工具 > 控制台时,我遇到了以下错误:

Python Extension: stderr jediProxy, Error (stderr) Traceback (most recent call last):
  File "d:\Users\user\.vscode\extensions\ms-python.python-2018.7.1\pythonFiles\parso\grammar.py", line 236, in load_grammar
    return _loaded_grammars[path]
KeyError: 'd:\\Users\\user\\.vscode\\extensions\\ms-python.python-2018.7.1\\pythonFiles\\parso\\python\\grammar38.txt'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "d:\Users\user\.vscode\extensions\ms-python.python-2018.7.1\pythonFiles\parso\grammar.py", line 239, in load_grammar
    with open(path) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'd:\\Users\\user\\.vscode\\extensions\\ms-python.python-2018.7.1\\pythonFiles\\parso\\python\\grammar38.txt'

制作grammar37.txtgrammar38.txt 副本足以在这种情况下修复 IntelliSense - 在一定程度上。如果可能的话,降级python或者升级vscode会更好。

【讨论】:

    猜你喜欢
    • 2016-07-14
    • 1970-01-01
    • 2021-05-24
    • 2016-07-21
    • 1970-01-01
    • 2022-01-21
    • 2017-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多