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

时间:2019-02-23 10:10:48

标签: python visual-studio-code

**********新版帖子,带有一个简单示例********************

在Martineau的建议下,我在下面尝试了一个简化的示例python程序。 背景是上周Vscode要求我在Win10中更新到VSCodeUserSetup-x64-1.31.1。
我做到了
有时VSCode无法执行我的主模块。
我试图重新安装和卸载vscode。我也尝试在这里和那里修改路径变量。 但是问题仍然存在。 我仍然可以完全在控制台中执行该程序。

以下是简化的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基本上在第一个语句和第一个断点之前停滞了。
但是,如果我使用控制台执行“ 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)

1 个答案:

答案 0 :(得分:0)

我解决了这个问题。 基本上,我从launch.json的“ debugOptions”中删除了“ RedirectOutput”选项。某种程度上,较旧的版本将重定向到调试屏幕中的控制台。 但是现在我不确定要去哪里。

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