import gensim 在活动模块中导入文件,而不是在根站点包文件夹中

import gensim imports a file in an active module, not the root site-packages folder

我 运行 在 Windows 上安装 Anaconda Python 2.7。我已经安装了 gensim 和 pyLDAvis 来做一些主题建模。 (请注意,在 windows 中的 python 2.7 上安装 pyLDAvis 有点棘手,因为您必须确保您没有使用似乎无法在 Windows 2.7 上编译的 scikit-bio。 .我想我有一个解决方法,但由于下面概述的原因我不能尝试!)

所以我安装了 pyLDAvis。但是当运行ning的时候,导入语句好像有问题。

pyLDAvis 安装在此文件夹中....

C:\Anaconda2\Lib\site-packages\pyLDAvis-1.3.2-py2.7.egg\pyLDAvis

sys.pathreturns这个:

['',
'C:\Anaconda2\lib\site-packages\pyldavis-1.3.2-py2.7.egg',
'C:\Anaconda2\lib\site-packages\joblib-0.9.3-py2.7.egg',
'C:\Anaconda2\python27.zip',
'C:\Anaconda2\DLLs',
'C:\Anaconda2\lib',
'C:\Anaconda2\lib\plat-win',
'C:\Anaconda2\lib\lib-tk',
'C:\Anaconda2',
'C:\Anaconda2\Library\bin',
'c:\anaconda2\lib\site-packages\sphinx-1.3.1-py2.7.egg',
'c:\anaconda2\lib\site-packages\setuptools-18.4-py2.7.egg',
'C:\Anaconda2\lib\site-packages',
'C:\Anaconda2\lib\site-packages\cryptography-1.0.2-py2.7-win-amd64.egg',
'C:\Anaconda2\lib\site-packages\win32',
'C:\Anaconda2\lib\site-packages\win32\lib',
'C:\Anaconda2\lib\site-packages\Pythonwin',
'C:\Anaconda2\lib\site-packages\IPython\extensions']

发生的事情是,当我尝试 运行 pyLDAvis 时,库调用 import gensim。但是,gensim既是site-packages中的文件夹,又是pyLDAvis中的文件(gensim.py)。

因此,当 python 尝试在 pyLDAvis 模块中 import gensim 时,它会在 pyLDAvis 模块中导入 gensim.py 文件,而不是 `` gensimfolder inside站点包`。

我该如何解决这个问题?

谢谢。

提交关于 pyLDAvis's GitHub. It looks like a recent change 的问题报告破坏了 Python 2 兼容性,假设 Python 3 import gensim 的绝对导入行为。

与此同时,我认为 1.3.1 版本中不存在该错误,因此您可以使用它。或者,您可以编辑 pyLDAvis/gensim.py 并在顶部添加 from __future__ import absolute_import。那可能可以作为临时修复,但我没有尝试。