Python 2.7 属性错误模块';Pyro4';没有属性';暴露';在运行gensim分布式LSI时

Python 2.7 属性错误模块';Pyro4';没有属性';暴露';在运行gensim分布式LSI时,python-2.7,gensim,latent-semantic-indexing,pyro4,Python 2.7,Gensim,Latent Semantic Indexing,Pyro4,因此,我试图从gensim为分布式LSI运行演示(您可以找到它),但每当我运行代码时,我都会得到错误 AttributeError:模块'Pyro4'没有属性'expose' 我在这里检查了stackoverflow上的类似问题,这些问题通常是由于误用库引起的 然而,我不是直接使用Pyro4,而是使用gensim引入的分布式LSI。所以我这边没有犯错的余地(或者我相信是这样) 我的代码非常简单,你可以在下面找到 from gensim import corpora, models, utils

因此,我试图从gensim为分布式LSI运行演示(您可以找到它),但每当我运行代码时,我都会得到错误

AttributeError:模块'Pyro4'没有属性'expose'

我在这里检查了stackoverflow上的类似问题,这些问题通常是由于误用库引起的

然而,我不是直接使用Pyro4,而是使用gensim引入的分布式LSI。所以我这边没有犯错的余地(或者我相信是这样)

我的代码非常简单,你可以在下面找到

from gensim import corpora, models, utils
import logging, os, Pyro4
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
os.environ["PYRO_SERIALIZERS_ACCEPTED"] =  'pickle'
os.environ["PYRO_SERIALIZER"] = 'pickle'

corpus = corpora.MmCorpus('wiki_corpus.mm') # load a corpus of nine documents, from the Tutorials
id2word = corpora.Dictionary.load('wiki_dict.dict')

lsi = models.LsiModel(corpus, id2word=id2word, num_topics=200, chunksize=1, distributed=True) # run distributed LSA on nine documents

Pyro4.expose
于2014年8月添加到Pyro4版本4.27中。 在我看来,您在此日期之前安装了一个非常旧的Pyro4版本,而您的gensim需要一个更新的版本

检查使用:

$ python -m Pyro4.configuration | head -3
您可能应该升级您的Pyro4库。。。 但请注意,我相信gensim不支持最新版本的Pyro4,因此您可能需要查看其手册以获得所需的正确版本。您可以随时尝试安装最新版本(现在是4.61)并查看其运行情况

编辑我想你也可以试着找到gensim特定的支持