Jupyter CUDA 无法调用、Import ERROR 提示缺库但 pip等 显示已经安装等问题的解决方案

Jupyter将markdown和python代码的有趣结合,让我们在学习编程的的过程中获得了比普通IDE更加流畅的体验。但是Jupyter的安装不是和IDE一样的傻瓜式方法,需要一定的技术,也时常会有很多Bug。

LZ在使用Jupyter学习深度学习算法时遇到了很多问题,首先栽在cuda上:

 明明在IDE中都能正常使用,在Jupyter中也选择了正确的Kernel,为此参考了以下几个回答:

anaconda prompt发现cuda是true,而jupyter是false的解决办法_槿年的槿年的博客-CSDN博客

python - torch.cuda.is_available() is False only in Jupyter Lab/Notebook - Stack Overflow

但是都未能解决。

其中还遇到了各种import error显示缺少库,但pip安装时显示已经安装的问题。

————————————————————————————————————————

下面是解决方案:

1、CUDA 问题:ipykernel存在Bug,如果是在某个anaconda的虚拟环境下打开的jupter,即使在其他虚拟环境中安装ipykernel,虽然能够识别相应的环境名,但是最终的编译器还是指向创建时的虚拟环境!!!

在安装有Jupter的环境中输入:

jupyter kernelspec list
[ListKernelSpecs] WARNING | Config option `kernel_spec_manager_class` not recognized by `ListKernelSpecs`.
Available kernels:
  python3         D:\PYTHON_FILE\Anaconda\envs\yolov5\lib\site-packages\ipykernel\resources
  pytorch_unet    C:\Users\***\AppData\Roaming\jupyter\kernels\pytorch_unet
  yolov5          C:\Users\***\AppData\Roaming\jupyter\kernels\yolov5

打开后更改kernel.json文件

{
 "argv": [
  "D:\\PYTHON_FILE\\Anaconda\\envs\\yolov5\\python.exe", #实际指向的编译器
  "-m",
  "ipykernel_launcher",
  "-f",
  "{connection_file}"
 ],
 "display_name": "Python (yolov5)",
 "language": "python",
 "metadata": {
  "debugger": true
 }
}

如果发现实际指向的编译器与设置的不对应,手动修改即可。

2、Import ERROR 提示缺少package但是pip显示已经安装

首先自己根据pip的信息找到:

Requirement already satisfied: debugpy>=1.0 in d:\python_file\anaconda\envs\yolov5\lib\site-packages (from ipykernel) (1.5.1)
...

直接删除该地址的文件or文件夹,再重新使用pip安装,即可解决问题。

由于当时在网络上搜寻数日也未能找到相关的答案,故在此提供该解决方案,希望能有帮助。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值