Python包的冲突问题(血泪教训)

我们要意识到一点,python的包与包之间,包与python之间有着极强的依赖关系,当出现安装包不成功,大概率是版本冲突。两方面的可能的问题

(1)python版本与包冲突

(2)包与包的版本冲突

一定一定一定不要自己一顿pip,conda安装操作,极容易造成上述问题。

这两个都很重要

记得自己在安装李沐老师的动手深度学习d2l的包的时候,没注意python版本3.9,只关注了包的版本,发现冲突以后自己一点一点补包,很快就冲突了,而且花了很长时间解决。

所以我们在python项目环境配置时

(1)如果是借鉴已有的项目,一定要按照它的介绍中的包的版本来新建环境

(2)养成比较大型的环境就新建对应的环境的习惯

8.4补充

对于不少深度学习者来说,环境问题是非常棘手的

我在用李沐老师的《动手学习深度学习》的时候,打算在服务器上跑自己的代码,按照上面的方式安装了环境之后,发现自己的

print(torch.cuda.is_available())会输出True

但是执行程序调用GPU的时候就会报错RuntimeError: CUDA error: no kernel image is available for execution on the device!!!

啊啊啊

其实这样报错无非就是torch版本和cuda之类的冲突

所以我参考了另一个自己的可以正常使用GPU的一个环境

用pip list 命令查看torch 和torch vision的版本

Python包的冲突问题(血泪教训)_第1张图片

然后再回到报错的这个环境重新安装了对应的版本

pip install torch==2.0.1

pip install torchvision==0.15.2

最后就可以正常运行啦!!

启发我们参考自己的或他人的一些可以运行的环境,更换包的版本

待测试实验

pip和conda安装有区别?

(1)pip安装后的包只能通过python 解释器来使用?

(2)conda安装后的包,只能通过conda虚拟环境来使用?

这就解释了为什么有些时候明明包已经在site-package了,但是却无法识别调用

解释器类型的问题

pip只能用相应的解释器来实现

conda 命令安装的包只能由conda环境解释器来识别

你可能感兴趣的:(python,开发语言)