You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用prompt_toolkit遇ImportError:无法导入PromptSession的问题求助

解决prompt_toolkit导入错误的思路

问题1:文件名与包名冲突

最初的ImportError: cannot import name 'PromptSession' from partially initialized module 'prompt_toolkit'错误,是因为你的脚本文件名和第三方库同名(prompt_toolkit.py)。Python在导入模块时会优先搜索当前目录的文件,导致加载了自己的脚本而非安装的库,引发循环导入。你已经将文件名改为my_prompt_toolkit.py,这一步是正确的,解决了文件名冲突问题。

问题2:版本不兼容导致的导入失败

修改文件名后出现的ImportError: cannot import name 'PromptSession' from 'prompt_toolkit',核心原因是你安装的prompt_toolkit版本过旧:

  • 你当前安装的是1.0.18版本,而PromptSession类是在prompt_toolkit 2.0及以上版本才引入的API。
  • 你参考的官方文档是master分支(对应最新版),但你的环境里是旧版本,API不匹配。

解决方案

有两种可行的解决路径:

路径1:升级prompt_toolkit到2.x及以上版本

执行以下命令升级库:

pip install --upgrade prompt-toolkit

升级完成后,你的原有代码(基于官方文档的示例)就可以正常运行,无需修改。

路径2:适配1.x版本的API

如果你需要保留1.0.18版本,可以修改代码使用1.x版本的API替代PromptSession。1.x中实现会话式输入可以用Prompt类,示例代码如下:

from prompt_toolkit import Prompt

def start():
    prompt = Prompt()
    text1 = prompt("Give me some input: ")
    print("You said: %s" % text1)

if __name__ == "__main__":
    start()

内容的提问来源于stack exchange,提问作者sadmicrowave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:15:09