总结一下最近的经验
文章目录
- 一.报了什么错的时候可能是版本冲突
- 二.解决版本冲突的工作流
- 1.pip check
- 2.libraries.io
- 3.查看PyPI、官方文档和GitHub issues
- 3. StackOverflow等各种类似平台
- 4.借助AI(如果用perplexity等联网的ai相当于在这一步综合了前面步骤)
一.报了什么错的时候可能是版本冲突
-
我感觉一般是
AttributeError
或ImportError
-
AttributeError
通常发生在尝试访问对象没有的属性或方法时:import some_module some_module.some_feature()
错误消息可能是:
AttributeError: 'module' object has no attribute 'some_feature'
-
ImportError
发生在尝试导入不存在的特性时:from some_module import some_feature
错误消息可能是:
ImportError: cannot import name 'some_feature' from 'some_module'
- 还有就是python给出的溯源日志里面直接说了某某包的Vxx 的时候,比如我最近遇到的pydantic
二.解决版本冲突的工作流
1.pip check
在我们pip install
一些包的时候有时候会看到下面这种,平时没有install的时候也可以直接pip check
- 这时候可以按以往的经验,卸掉某个版本的包,然后重新安装新的版本,但是有时候自己指定的版本不存在,那就得去查了
2.libraries.io
- 感觉比pypi好用,pypi好多链接打不开…
3.查看PyPI、官方文档和GitHub issues
-
pypi和GitHub官方文档上都有这个
-
在github issues里面搜,尤其是那种更新很快,很多人用的,遇到比较新的问题一般也能搜到,比如Langchain,babyagi这些热门项目
- 如果没有现成的解决方案,还可以提issues
3. StackOverflow等各种类似平台
嘶,最近看stackoverflow也要引入AI了?
4.借助AI(如果用perplexity等联网的ai相当于在这一步综合了前面步骤)
- 比较老的问题可以丢给chatgpt(非联网版)
- 新的package不一定能解决,但有时候他能提供很好的解决思路
- 比较新的问题可以丢给perplexity或者phind,它们给出的回复不一定准确,但是给出的github issues,stackoverflow等的链接挺准确的,比自己谷歌搜索效率高些