问题描述:
安装环境后运行项目遇到一个没见过的错误。
该错误并不报错,只显示进程已结束,退出代码-1073741819 (0xC0000005),print也无法输出
查错修正:
kimiai的回复是:
退出代码
-1073741819
(十六进制表示为0xC0000005
)通常在Windows系统中表示一个访问违规(Access Violation),也称作段错误(Segmentation Fault)。这通常意味着程序试图访问它没有权限访问的内存区域。在Python环境中,这种错误可能由以下原因引起:
- 索引错误:尝试访问列表或其他序列类型中不存在的索引。
- NoneType错误:变量为
None
,但尝试在其上执行操作。- 内存管理问题:例如,使用已经释放或删除的对象。
- 并发问题:多线程或多进程程序中的竞态条件。
- 扩展模块问题:Python的C扩展可能存在内存访问错误。
- 系统级错误:操作系统在执行系统调用时遇到了问题。
要解决这个问题,你可以尝试以下步骤:
- 检查错误消息:Python通常会提供错误消息,指出导致问题的代码行。检查消息并审查相关代码。
- 调试程序:使用Python的调试器(pdb)逐步执行代码,以找到触发错误的位置。
- 检查数据类型:确保你操作的数据类型是正确的,并且没有
NoneType
错误。- 检查并发:如果你使用多线程或多进程,请确保没有竞态条件或死锁。
- 更新代码:如果你从旧版本的Python迁移代码到新版本,确保代码与新版本兼容。
- 检查扩展模块:如果错误与C扩展模块相关,确保它们是最新的,并且与你的Python版本兼容。
- 运行时依赖:确保所有必要的运行时依赖都已正确安装。
- 系统兼容性:确保你的操作系统和硬件驱动程序是最新的。
- 我先在做了如上的调试仍然无法运行代码。
- 回想最近一次更新更换了环境的Python版本3.9,但是pycharm项目环境名没改仍是Python3.8,我删除了pycharm里该环境引用并重新添加。该办法没用。
3.回忆起最近一次安装依赖时报错:
torchvision 0.18.0 requires torch==2.3.0, but you have torch 2.2.1+cu121 which is incompatible.
重新安装torchvision==0.17.1+cu121
安装成功后可以正常运行。