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.path
returns这个:
['',
'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
。那可能可以作为临时修复,但我没有尝试。
我 运行 在 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.path
returns这个:
['',
'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
。那可能可以作为临时修复,但我没有尝试。