为什么VSCode在新的VSCode更新中无法执行我的主模块?

问题描述 投票:2回答:1

**********新帖子版附简单的例子********************

在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"
            ]
        }
    ]
}

单击调试器按钮然后右侧三角形按钮执行调试器后,我总是得到以下屏幕截图,显示没有执行任何操作。

The console screen output after launching the simplified python program.

我怀疑新的更新已经改变了我在vscode中的设置。但我不知道在哪里重新配置vscode。

非常感谢您的帮助!

谢谢

视图

****************老帖子有一个更复杂的例子!****************亲爱的:

上周Vscode要求我更新到VSCodeUserSetup-x64-1.31.1。 所以我做了。 然后有时VSCode停止执行我的主模块。 基本屏幕布局如下。

vscode screen image that shows the stalling before the 1st statement.

VSCode在第一个语句和第一个断点之前基本停滞。 但是如果我使用Console来执行“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)
python visual-studio-code
1个回答
0
投票

我有点解决了这个问题。基本上,我从launch.json中的“debugOptions”中删除了“RedirectOutput”选项。不知何故,旧版本的重定向是调试屏幕中的控制台。但现在我不知道它到底在哪里。

事实上,VSCode中有三个控制台,内部控制台,集成控制台和外部控制台。如果有人能告诉我哪个是哪个,我将不胜感激?我检查了一些相关的页面。但是发现了模糊的解释。

© www.soinside.com 2019 - 2024. All rights reserved.