python - 为什么 VSCode 在新的 VSCode 更新中无法执行我的主模块?
问题描述
************带有简单示例的新发布版本********************
在 Martineau 的建议下,我在下面尝试了一个简化的示例 python 程序。背景是上周Vscode让我在Win10中更新到VSCodeUserSetup-x64-1.31.1。
所以我做了。
然后有时 VSCode 无法执行我的主模块。
我试图重新安装和卸载 vscode。我还尝试在这里和那里修改路径变量。但问题仍然存在。我仍然可以纯粹在控制台中执行程序 OK。
简化的python程序如下。
print ("Here I am!")
launch.json 文件如下。
{
"version": "0.2.0",
"configurations": [
{
"name": "vsCode Test ",
"type": "python",
"request": "launch",
"stopOnEntry": true,
"pythonPath": "${config:python.pythonPath}",
"program": "${workspaceRoot}/src/pt.py",
"args": [
],
"cwd": "${workspaceRoot}",
"env": {},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
]
}
在我单击调试器按钮,然后单击右三角按钮执行调试器后,我总是得到以下屏幕截图,显示没有执行任何操作。
我怀疑新的更新改变了我在 vscode 中的设置。但是我不知道在哪里重新配置vscode。
您的帮助将不胜感激!
谢谢
法恩
******************旧帖子有一个更复杂的例子!****************亲爱的大家:
上周 Vscode 要求我更新到 VSCodeUserSetup-x64-1.31.1。
所以我做了。
然后有时 VSCode 停止执行我的主模块。
基本画面布局如下。
VSCode 基本上在第一个语句和第一个断点之前就停止了。
但是如果我使用控制台执行“python CnTaaD.py -L”,则模块(CnTaaD.py)正确执行。
我尝试了几次,甚至重新安装,卸载,使用旧版本的 VSCode。
停转问题时断时续。
然后昨晚,VSCode 总是在第一个语句和第一个断点之前停止。
我的朋友帮助我,并猜测是因为python解释器的路径现在是错误的。但是我们试图在这里和那里设置路径变量。
没有什么好事发生。
CnTaaD.py 的代码如下,供大家参考。
它调用另一个模块。
谁能告诉我如何重新配置 VSCode 以便我可以恢复开发?
谢谢
from __future__ import print_function # (at top of module)
if __name__ == '__main__':
import os
import sys
import CnUserManager
if sys.version_info[0] < 3: # Python 2 and 3:
print ("python 2.x")
# to execute the file, type in the following command in powershell:
# % python CnTaaDPackage.py build_ext --inplace
import future # pip install future
import builtins # pip install future
import past # pip install future
import six # pip install six
else:
print ("python 3.x")
root = os.path.realpath(__file__)
# print ("realpath of __file__ is ", root)
root = os.path.dirname(root)
root = os.path.dirname(root)
sys.argv.append(root)
# print ("sys.argv = ", sys.argv)
CnUserManager.CnUserManagerClass(sys.argv)
解决方案
我有点解决了这个问题。基本上,我从 launch.json 的“debugOptions”中删除了“RedirectOutput”选项。不知何故,旧版本重定向到调试屏幕中的控制台。但现在我不确定它在哪里。
实际上,VSCode 中存在三个控制台,内部、集成和外部。如果有人能告诉我哪个是哪个,我将不胜感激?我检查了一些相关页面。但找到了模糊的解释。
推荐阅读
- angular - ngx-bootstrap 手风琴 isOpen 和 isOpenChange 导致挂起
- docusaurus - docusaurus 有官方的 docker 容器吗?
- docker - 我手动“docker pull”后的 kubernetes ErrImagePull
- java - 如何在自定义arraylist Java中制作重复列表
- exception - 如何从调用堆栈中的多个层返回?
- java - 无法获取公共无参数构造函数
- php - 将多个值添加到 SQL 中的高级 PHP 方法
- python - 如何从 Python 代码中导出 .so 符号
- php - $_POST 通过 AJAX 未读取 POST 参数
- google-apps-script - 您如何根据 2 个要求从产品列表中筛选出产品?