首页 > 解决方案 > 为什么 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"
            ]
        }
    ]
}

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

启动简化的 python 程序后的控制台屏幕输出。

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

您的帮助将不胜感激!

谢谢

法恩

******************旧帖子有一个更复杂的例子!****************亲爱的大家:

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

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)

标签: pythonvisual-studio-code

解决方案


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

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


推荐阅读