无法从“smart_open”导入名称“open”

Abh*_*pat 11 nlp importerror gensim deep-learning

我正在这样做并收到此错误:

from gensim.models import Word2Vec

ImportError: cannot import name 'open' from 'smart_open' (C:\ProgramData\Anaconda3\lib\site-packages\smart_open\__init__.py)
Run Code Online (Sandbox Code Playgroud)

然后我做了这个:

import smart_open
dir(smart_open)

['BZ2File','BytesIO','DEFAULT_ERRORS','IS_PY2','P','PATHLIB_SUPPORT','SSLError','SYSTEM_ENCODING','Uri','__builtins__','__cached__','__doc__','__file__','__loader__','__name__','__package__','__path__','__spec__','boto','codecs','collections','gzip','hdfs','http','importlib','io','logger','logging','os','pathlib','pathlib_module','requests','s3','s3_iter_bucket','six','smart_open','smart_open_hdfs','smart_open_http','smart_open_lib','smart_open_s3','smart_open_webhdfs','sys','urlparse','urlsplit','warnings','webhdfs']
Run Code Online (Sandbox Code Playgroud)

如您所见,其中没有“开放”,所以我应该如何解决这个问题。我尝试安装不同的版本,我也升级了所有版本。

Pra*_*mar 24

我也遇到了同样的错误。我通过将 smart_open 更新到 2.0.0 版解决了这个问题。

畅达安装 smart_open==2.0.0

或者

pip 安装 smart_open==2.0.0。


Sho*_*ter 5

import smart_open
smart_open.open = smart_open.smart_open
from gensim.models import Word2Vec
Run Code Online (Sandbox Code Playgroud)

效果很好。