tensorflow没有代码提示的问题

时间:2021-11-09 17:03:28

在tensorflow包下的__init__.py文件中定义了一个contrib变量表示tensorflow.contrib包下的内容,但是tensorflow.contrib这个包是懒加载的,也就是只有用到这个contrib变量的时候contrib包中的内容才会被加载。

这样就导致IDE无法通过分析源文件获取到contrib包下的内容,解决方法非常简单,把这个懒加载去掉。直接from tensorflow import contrib

from tensorflow import contrib as contrib

from tensorflow.python.util.lazy_loader import LazyLoader  # pylint: disable=g-import-not-at-top
# contrib = LazyLoader('contrib', globals(), 'tensorflow.contrib')
del LazyLoader

在加载过程中,tensorflow乱改path,导致IDE无法正常分析,在tensorflow包下的init函数中加上

from tensorflow.python.estimator.api import *
from tensorflow._api.v1 import *