【Bug】ImportError: cannot import name ‘InterruptiblePdb‘

国庆节后第一天,准备调试一下放假前的代码,打开jupyter notebook,始终无法连接到内核:

ImportError: cannot import name ‘InterruptiblePdb’ from partially initialized module ‘IPython.core.debugger’ (most likely due to a circular import) (D:\anaconda3\envs\data\lib\site-packages\IPython\core\debugger.py)
[W 13:17:20.179 NotebookApp] KernelRestarter: restart failed

在这里插入图片描述
然后我找了一系列教程,包括卸载了ipykernel,然后重新安装,仍然报错、卸载了整个jupyter notebook,然后重新安装,仍然报错。。。反正试了很多方法,都不行。

最后,终于终于找到了原因:
删除文件夹中的code.py文件,文件命名为code.py就像调用变量int或list。当前ipython内核甚至拒绝在工作目录以code.py开头,因为它隐藏了一个内部模块导致“模块名称冲突”。

在这里插入图片描述
bug心得体会:
这个bug我真的很无语,假期第一天上班,就给我搞事,放假前没任何问题啊。。。
还有报错的信息很多,一大串,我主要聚集在最后给出的报错信息,这就直接误导了我解决问题的方向。其实报错信息提示了code.py,被我无情的忽略了。。。如下:
在这里插入图片描述
所以,以后有bug出现,还是得从头到尾看一遍报错信息,我之前就想着环境崩了,哪到底是什么原因导致环境崩了呢?不要总想着是内部原因,也有极大的可能是外部原因(脚本命名冲突,之前遇到过将脚本命名为cv2.py,一直报错)。

参考资料:

https://www.codenong.com/cs106155956/

https://blog.csdn.net/weixin_63099027/article/details/126063535

https://blog.csdn.net/qq_45154565/article/details/109734913

https://www.likecs.com/ask-605651.html?sc=3564.666748046875

https://stackoverflow.com/questions/58399943/importerror-cannot-import-name-pdb-from-ipython-core-debugger

### 解决 Python 中 `ImportError: cannot import name 'OpenAI'` 的方法 当遇到 `ImportError: cannot import name 'OpenAI' from partially initialized module 'openai' (most likely due to a circular import)` 这样的错误时,通常意味着存在循环导入问题或是模块初始化未完成的情况[^2]。 #### 1. 检查 OpenAI 库的安装状态 确认 openai 库已经正确安装。可以尝试重新安装该库来解决问题: ```bash pip uninstall openai pip install openai ``` 如果使用的是特定版本,则应指定版本号进行安装。 #### 2. 验证环境配置 确保当前使用的 Python 环境与安装 openai 库的环境一致。有时不同环境中可能存在同名包的不同版本冲突情况。 #### 3. 排除循环依赖 仔细审查代码结构,特别是涉及到 `import` 语句的地方。如果有两个文件相互之间进行了直接或间接的导入操作,就可能导致部分加载失败从而引发此异常。调整模块间的依赖关系,避免形成闭环。 #### 4. 更新至最新稳定版 考虑到可能是由于旧版本中存在的 bug 导致的问题,建议升级到最新的稳定发布版本: ```bash pip install --upgrade openai ``` #### 5. 替代方式获取 API 客户端实例 作为临时措施,在某些情况下可以直接创建 HTTP 请求而不必通过官方 SDK 来调用 OpenAI API 。不过这种方法不推荐长期使用,因为缺乏封装和支持。 ```python import requests url = "https://api.openai.com/v1/completions" headers = {"Authorization": f"Bearer YOUR_API_KEY"} data = { "model": "text-003", "prompt": "Say this is a test", } response = requests.post(url, headers=headers, json=data) print(response.json()) ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器不学习我学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值