调用gensim模块错误:cannot import name 'open' from 'smart-open'

调用gensim模块错误:cannot import name ‘open’ from ‘smart-open’

出现这个问题的主要原因是因为各种模块之间版本不兼容造成的bug。首先我们打开调用‘open’的文件看一下源码:

调用gensim模块错误:cannot import name 'open' from 'smart-open'_第1张图片

是这个utils.py文件调用了open.py文件,但是,smart-open包里并没有open.py文件。

调用gensim模块错误:cannot import name 'open' from 'smart-open'_第2张图片

但是既然是直接下载的包,肯定不可能出现功能上残缺的问题,因此我们看一下在utils.py中调用的open函数的用法,如下。

在这里插入图片描述

然后在smart_open_lib.py文件中发现这样的定义:

在这里插入图片描述

因此只需要再smart_open_lib.py文件和open.py文件之间搭建一个关系即可。我们可以再smart-open文件夹下新建一个open.py文件,写上一行代码:
from .smart_open_lib import *
然后调用gensim模块时候就不会出问题了。

你可能感兴趣的:(gensim模块)