web-dev-qa-db-fra.com

Impossible d'importer le nom 'Open' de 'Smart_Open'

Je faisais cela et j'ai eu cette erreur:

from gensim.models import Word2Vec

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

Alors j'ai fait ceci:

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']

Comme vous pouvez le constater, il n'y a pas de "ouvert", alors comment dois-je résoudre ceci. J'ai essayé d'installer différentes versions et j'ai également mis à niveau toute version.

7
\lib\site-packages\gensim\utils.py in <module>
     43 from six.moves import range
     44 
---> 45 from smart_open import open
     46 
     47 from multiprocessing import cpu_count

ImportError: cannot import name 'open'

Même problème pour moi avec SMART_OPEN 2.1.0 et GENSIM 3.8.3. Aussi après le bas et la mise à niveau.

1
Mina L.

Dans C:\ProgramData\anaconda3\lib\site-sites-packages\gensim\utils.py, j'ai simplement changé from smart_open import open à from smart_open import smart_open et cela a fonctionné.

1
Saurabh Kumar

D'une manière ou d'une autre, elle a été résolue lorsque j'ai rétrogradé mon intelligent_open puis amélioré, je ne sais pas pourquoi cela se passe cependant.

1