You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动