• vscode_pytest_配置debug环境:增加和打印环境变量


    daPython是一种解释性语言,它有一个非常好的好处,就是代码可以随调随改。

    这意味着什么?意味着,我们编写一个代码,在代码中打个断点,就可以在当前baseline的基础上,做很多尝试。

    在面对大型应用的时候,动不动运行个两三分钟的程序,光是跑到我们要运行的地方就要这么久。

    所以,必然要掌握打断点的技巧。

    对Python打断点的技巧,相对会容易很多,大家都会。

    但是有些pytest,它的路径有问题。这必须要我们进去手动改py文件的路径,吃力又麻烦。

    所以,我们首先介绍一下如何配置pytest的环境。

    Pytest单case的调试_荒山之夜的博客-CSDN博客_pytest 单步调试

    但是,有的时候,我们运行pytest的时候,会遇到环境变量的困扰。

    比如,我们需要在PATH后面加一个查找路径。

    同时,在增加查找路径后,我们能把现有的环境变量打印出来。

    网上很少有这种教程。

    因此,我们在此简单贴个代码。

    核心就是用launch.json去调用tasks.json中的任务。

    在tasks.json中实现,环境变量的添加,以及,环境变量的打印。

    launch.json 

    1. {
    2. // 使用 IntelliSense 了解相关属性。
    3. // 悬停以查看现有属性的描述。
    4. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    5. "version": "0.2.0",
    6. "configurations": [
    7. {
    8. "name": "Python: test_model_efficiendet_coco",
    9. "type": "python",
    10. "request": "launch",
    11. "module": "pytest",
    12. "args": ["-rA",
    13. "-s",
    14. "-m=compiler",
    15. "vgg16_imagenet_224x224x3_30_94G_138_36M/test_model_vgg16_imagenet_224x224x3_30_94G_138_36M.py"],
    16. "cwd": "/home/shengguowei/location_single_prefix_case_bug/npu_model_zoo/",
    17. "env": {"CUDA_VISIBLE_DEVICES":"", "DISABLE_TQDM":"True"},
    18. "envFile": "${workspaceFolder}/.env",
    19. "console": "integratedTerminal",
    20. "preLaunchTask":"Outputenviroment" ,
    21. "justMyCode": false,
    22. "stopOnEntry": false,
    23. }
    24. ],
    25. }

     tasks.json 

    1. {
    2. "version": "2.0.0",
    3. "tasks":[
    4. {
    5. "label":"Outputenviroment",
    6. "type": "shell",
    7. "command":"echo ${workspaceFolder};echo fake;echo ${PATH};export PATH=${PATH}:${NPU_root_path}/ncnn/build_x86_sim/tools/novauto/:${NPU_root_path}/ncnn/build_x86_sim/tools/onnx/"
    8. }
    9. ]
    10. }

    其中亮点是:launch.json通过preLaunchTask的标签来寻找tasks.json中的标签。

    task.json中的command,用来输出和加入环境变量。

    module,则和code等冲突。命令可以像命令行一样直接写在args中。

    至此,我们达成了直接运行pytest的效果。甚至可以自己加环境变量,可以查看环境变量是不是增加正确。

  • 相关阅读:
    如何创建自己的python装饰器!
    SH-CST 2022丨SpeechHome 语音技术研讨会
    MyBatisPlus
    【服务器数据恢复】戴尔某型号服务器raid故障的数据恢复案例
    SpringCloud框架(三):微服务优化,Feign的最佳实现方案
    nginx下载安装和日志切割
    python中将科学计数法转数字
    飞机机场城市标签 易语言代码
    软考【网络管理员】100道高频考题(含知识点解析),轻松45+
    CPU体系(2):ARM Store Buffer
  • 原文地址:https://blog.csdn.net/qq_29134801/article/details/128141943