问题标签 [vscode-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3090 浏览

python - “源文件找到两次”错误,mypy>=0.780 在 python 中用于 vscode

在我的 python 项目中,mypy从 0.770 升级到 0.782 后,在以前没有类型错误的文件中收到错误:

我很确定这与mypy 上的问题 #8944以及 vscode-python 在打开文件上执行 mypy 的方式有关。我尝试添加各种 mypy 标志(例如--namespace-packages, --no-namespace-packages),但这并没有解决问题。

my_pkg_name 确实包含一个__init__.py,所以也包含top_pkg。这mypy==0.770不是问题。

查看扩展的输出,这是调用 mypy 的方式:

是否应该更改 mypy 相关的 vscode 设置中的某些内容才能使其正常工作?

0 投票
1 回答
524 浏览

python - VS Code 调试控制台不适用于 Python input()

除了 VS Code 上的调试控制台外,我有一些简单的代码在任何地方都可以正常工作。

这里是:

如果您使用 的launch.json配置"console": "internalConsole",,那么输出将转到调试控制台,这不起作用。如果你这样做"console": "integratedTerminal"了,输出会工作,它会进入终端,但是,它每次都会创建一个新的调试控制台,最终它会在第 33 次停止工作。我有下面的截图。该错误未显示在终端中,而是显示在弹出窗口中。错误指出:

终端进程“C:\Program Files\Git\bin\bash.exe”以退出代码终止:256。

所以有两个问题:

  1. 调试控制台无法使用input()
  2. 终端制作了太多的调试控制台,导致它出错。

我对任何人如何在 VS 代码上使用 python 感到困惑,因为我什至无法让它工作。我想我可以在控制台每次达到 33 时删除它,但这似乎效率低下,而不是 VS Code 的预期使用方式。

截屏:在此处输入图像描述

0 投票
1 回答
447 浏览

python - 调试 Python 时调用 Stack empty

我正在使用 VSCode 和 Python 扩展在 Python 中的多线程项目中工作。一切正常,直到突然,我没有更改任何设置)它停止显示调用堆栈中正在运行的进程和线程。调用堆栈现在是空的,直到它在断点处停止。

这仅适用于 Python。例如,对于 C++,它可以工作,如下图所示:

c++调用栈; 显示正在运行的线程

这里遵循我的配置文件:

设置.json:

启动.json:

0 投票
1 回答
1002 浏览

python - 单独的 .env 用于测试和调试

我正在使用 VSCode 开发容器,我很难弄清楚如何为我的 pytest 设置运行不同的 .env 文件,而我只想运行 uvicorn/debug。

我可以在 settings.json 中设置一个 envfile,它可以工作,但是我必须根据我是要测试还是只运行服务器来来回更改此路径。我读过你可以在launch.json中更改测试的envfile,但是当发现/运行测试不再出现时,这些是launch.json的有效设置,并且必须烘焙到vscode-python扩展中?

我真的很困惑,因为我觉得这是一个常见的用例,我真正想要完成的只是设置一个不同的数据库连接器,以便测试可以删除/创建测试表,但开发人员会保留在一个单独的数据库中。

0 投票
1 回答
402 浏览

python-2.7 - VSCODE pytest 不构造 sys.path 与命令行 pytest 相同

使用 VSCODE python 扩展运行 pytest 时出现导入错误。从命令行运行 pytest 时,我没有收到错误消息。

我有一个具有以下设置的 python 2.7 项目。

我已将包 ifrs9model_config 安装到 venv 中。这允许我在 conftest.py 文件中导入 ifrs9model_config,如下所示:

当我直接运行 conftest.py 时,它工作正常。当我从命令行运行 pytest 时(激活 venv 之后),它也可以正常工作。但是当我使用 VSCODE 的 python 扩展运行 pytest 时,我得到了错误:

vscode pytest 正在运行以下命令:

打印了 sys.path(主要来自 conftest.py 脚本)后,我注意到当 VSCODE 运行 pytest 时,pytest rootdir (/sasdata/Lev3/apps/provision/model_config) 不包含在 sys.path 中。但是,当我使用以下命令从命令行运行 pytest 时,它会包含在内:

run_adapter.py 脚本确实将一些目录插入到 sys.path 值中,但这并不能解释为什么上面没有。

现在,如果我在 conftest.py 文件中添加这样的一行:

它在 VSCODE 中工作。

我对此感到特别困惑,因为我认为通过使用 setup.py 和“pip install -e”将 ifrs9model_config 包安装到 venv 中,该模块将可用于 venv 中的任何 python 会话?

我还读到弄乱 sys.path 是不好的形式,无论哪种方式,我都不是特别热衷于将代码添加到我的脚本中,只是为了帮助 VSCODE 运行。

从 VSCODE 与命令行执行 pytest 时,为什么 sys.path 会有所不同?解决我的错误的最佳方法是什么?

0 投票
1 回答
402 浏览

java - 使用基于 jshell 构建的 iJAVA 时,VS 代码无法创建新单元格?

我只是一个初学者:)
任何人都可以帮助我吗?

当我单击加号在工作簿中创建新单元格时,出现错误。未创建新单元格,我看到此错误消息的字体比平常大。

错误消息在内核重新启动后仍然存在。

重新启动 VSCode 后错误消失了。

保存/关闭文件并重新打开后,该错误也消失了。

代码

System.out.print("你好 jshell");

然后我按alt + enter

输出

你好 jshell

我在用

  • VS 代码版本:1.51.1
  • jupyter核心:4.6.3
  • jupyter笔记本:6.1.5
  • qtconsole:4.7.7
  • ipython:7.18.1
  • ipykernel:5.3.4
  • jupyter 客户端:6.1.7
  • jshell:15.0.1

输出屏幕截图

0 投票
0 回答
148 浏览

python - 为什么我没有得到 python flask sqlalchemy 自动完成功能?

为什么我没有得到 python flask sqlalchemy 自动完成功能?我已经关注了 'SQLAlchemy' 实例没有 'Column' 成员(无成员)本指南,但它仍然不起作用。我已经使用了用户和工作区设置。我的全局用户 settings.json 包含以下内容:

我的 app.py 有以下内容:

0 投票
1 回答
473 浏览

visual-studio-code - vscode 用诗歌测试发现(src 布局)

上次我按照推荐的 src 布局 ( https://hynek.me/articles/testing-packaging/ ) 使用 tox 取得了巨大成功。

但是 VSCODE 测试发现失败,因为无法导入 src 包。这是预期的,因为我们要测试已安装的包。

但是如何在 vscode 中调试我的测试呢?

0 投票
1 回答
135 浏览

visual-studio-code - VSCode:如何构建一个带有少量模块和测试、调试和 linting 的简单 python 包?

在 Python 中构建一个简单的项目以使用 Visual Studio Code 进行开发,我遇到的麻烦比我想承认的要多。

我应该如何在我的文件系统中构建一个包含几个模块的简单 Python 包的项目?只是一堆 *.py 文件在一起。我的要求是:

  1. 我必须能够在 vscode 中逐步调试它。
  2. 它有一堆使用 pytest 的单元测试。
  3. 我可以选择从 vscode 选项卡中调试特定测试,它必须在断点处停止。
  4. pylint 不得显示任何误报。
  5. 测试文件必须位于主模块文件的不同目录中。
  6. 我必须能够从控制台运行所有测试。
  7. 该模块使用 python 标准库模块 venv 在虚拟环境中执行
  8. 代码将使用类型提示

我可能会使用另一个 linter,甚至另一个测试框架。

没什么特别的,但我真的很难把它做好。我想知道:

  • 我应该如何组织我的子目录:一个包含主文件的文件夹和一个包含测试的同级文件夹?还是包含代码的子文件夹和包含测试的子文件夹?
  • 哪些目录必须有一个init .py 文件?
  • 测试应该如何从模块中导入文件?我应该使用相对进口吗?
  • 我应该创建一个pytest.ini文件吗?
  • 我应该创建一个.env文件吗?
  • launch.json在 vscode 中的调试器文件配置的内容是什么?
0 投票
2 回答
897 浏览

python - 如何在 Visual Studio 代码中内置运行 python tox 命令和测试

我的项目中有 tox.ini,我想使用 python tox 在 Visual Studio 代码中运行和显示测试,但我不知道该怎么做?