PyCharm中input函数报错无法运行,疑与Jupyter内核相关求解决
解决PyCharm中Jupyter内核运行
input()报错StdinNotImplementedError的方法 我之前也碰到过一模一样的问题!这确实是PyCharm搭配Jupyter内核时的常见坑——Jupyter Notebook的交互模式和普通Python控制台的输入逻辑不一样,直接调用input()会触发这个错误。下面是几个亲测有效的解决办法:
方法一:切换到Python Console运行代码
这是最简单直接的方案:
- 点击PyCharm右上角的运行配置下拉框,选择Python Console(而不是Jupyter Notebook相关的配置)
- 运行代码后,就能在控制台正常输入内容了,
input()可以正常工作
方法二:在Jupyter内核下替换输入方式
如果一定要用Jupyter内核,试试这两个替代方案:
- 针对Python 2.7的临时修复:把
input()换成raw_input()(因为Python2里input()本质是eval(raw_input()),而raw_input()更适配Jupyter的输入逻辑) - 通用修复:使用IPython内置的输入方法,替换代码如下:
key = get_ipython().interactiveshell.raw_input("请输入内容:") print(key) - 小提示:有时候PyCharm不会自动跳转到输入界面,你可以手动切换到底部的Python Console标签页,那里会显示输入提示符,在那里输入内容即可。
方法三:更新Jupyter内核
有时候旧版本的ipykernel会存在stdin兼容问题,更新一下试试:
- 打开终端,激活你的conda环境:
conda activate myenv - 运行更新命令:
conda install ipykernel --update-deps
内容的提问来源于stack exchange,提问作者WitchyJulia




