关于python的debug报错,其实很奇怪
首先,对于工作区代码,我们可以通过Ctrl+Shift+P 来切换Python解释器
这样的话,工作区的代码就不会报import error
而且这样的话是可以运行跑通的,但最抽象的一集来了,这时候运行debug,这时候你会发现竟然会报错,
我一开始以为是没有切换虚拟环境的问题,导致无法找到包,因为他的这个前面的(base)并没有切换到我的代码的环境
但是我发现,他实际上是会调用我们前面工作区切换好的解释器的,说明他也在运行切换了环境
这段代码的实际意义是
这段命令是在Windows操作系统的命令提示符(CMD)中执行的,它启动了一个Python脚本。下面是对这段命令的逐部分解释: (base) PS C:\Users\Qodi\Desktop\test_debug>:这是命令提示符的当前状态,显示当前目录是C:\Users\Qodi\Desktop\test_debug,并且当前激活的Python环境是base。 &:这是一个命令行操作符,用于在Windows中执行一个命令,并且不等待该命令执行完成就继续执行后面的命令。在这个上下文中,它可能用于确保即使调试器启动失败,也不会阻止其他命令的执行。 'f:\anaconda\envs\deepLearning\python.exe':这是指定的Python解释器的路径。这里使用的是Anaconda环境中的Python解释器,位于F:驱动器的anaconda/envs/deepLearning目录下。 'c:\Users\Qodi\.vscode\extensions\ms-python.debugpy-2024.0.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher':这是Visual Studio Code(VSCode)的Python扩展使用的调试器启动器的路径。这个启动器用于启动调试会话。 '64428':这通常是一个端口号,用于调试器监听和接受来自VSCode的调试连接。 --:这个双破折号通常用于分隔命令行参数,告诉调试器启动器后面的参数是传递给Python脚本的。 'c:\Users\Qodi\Desktop\test_debug\try.py':这是要调试的Python脚本的路径。
后来我实验究竟是什么导致报错,我发现我忽略了错误本身,我以为是import的问题
后来往往发现报错是如下的:这个错上网搜索是因为numpy版本的问题
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed.
关键是这个报错是numpy包相关的,而最抽象的是我在import torch
所以我降低了numpy包版本(按照网上的版本,我的numpy包版本和其他包冲突,所以又升高了一下)发现忽然可以调试了
综上,无法正常调试还是包的依赖问题
而且也并不需要在终端激活那个环境,这是目前的实验证明
但还是很玄学,还是没有理解透彻,后面遇到问题再补充吧