PyCharm自动补全异常求助:tfe无提示但tf正常(PyCharm2017.3.3)
PyCharm中
tensorflow.contrib.eager无自动补全的解决方案 我之前也碰到过一模一样的问题,老版本PyCharm对TensorFlow的contrib系列模块自动补全支持确实拉胯,尤其是你用的2017.3.3版本——毕竟TensorFlow的contrib模块很多是动态加载实现的,PyCharm的静态代码分析引擎没法像IPython那样在运行时解析这些内容,所以才会出现IPython能正常显示提示、PyCharm却没反应的情况。
给你几个亲测有效的解决办法:
- 升级PyCharm版本:这是最省心的方案。2017年的版本对TensorFlow的兼容性已经跟不上了,升级到2020及以后的版本,PyCharm对动态模块的代码分析能力有明显提升,基本能正常识别
tfe的所有组件。 - 手动添加类型提示:如果你暂时不想升级,可以给
tfe加个类型注解,强制PyCharm识别它的类型:import tensorflow as tf import tensorflow.contrib.eager as tfe # 手动指定类型,帮助PyCharm解析补全 tfe: tf.contrib.eager._EagerAPI = tfe - 刷新PyCharm缓存:有时候是缓存索引出了问题,试试
File -> Invalidate Caches / Restart,选择Invalidate and Restart重启IDE,重启后PyCharm会重新扫描你的Python环境和模块,大概率能修复识别异常。 - 核对Python环境:确认PyCharm使用的解释器和你IPython用的是同一个!很多时候是环境不一致导致的——比如PyCharm用了系统默认Python,而IPython用的是虚拟环境里的。你可以通过
File -> Settings -> Project: [你的项目名] -> Project Interpreter查看并切换到正确的环境。
内容的提问来源于stack exchange,提问作者Microos
相关产品推荐
相关产品推荐

