当我尝试读取由以前的熊猫版本保存的泡菜文件时,它产生了ImportError
。
ImportError:没有名为“ pandas.core.internals.managers”的模块; 'pandas.core.internals'不是一个包
stackoverflow没有受到影响,所以我想针对这个特殊问题分享我的解决方案。
答案 0 :(得分:25)
此错误因先前保存的泡菜文件的编码而消失。如果您将熊猫更新为新修订的版本,则会产生此导入错误。
答案 1 :(得分:12)
使用熊猫0.23.4
版时遇到相同的错误。
我通过以下方式明确安装了熊猫0.24.1
版本:
pip3 install pandas==0.24.1
这解决了我的问题(我使用的Python版本是3.5)
答案 2 :(得分:4)
我遇到了同样的问题,但对我来说,这似乎来自于pickle包/与pandas包的交互。
我的Pandas版本为0.23.4。
我使用pandas.Dataframe.to_pickle
,Python 3.6.6和Pandas 0.23.4版保存了一些腌制文件。
然后,我升级到python 3.7.2(Pandas版本0.23.4),并启用了使用pandas.Dataframe.read_pickle
来读取这些pickle文件的功能。
接下来,我将熊猫升级到熊猫0.24.1,它对我有用。我可以再次读取这些文件。
答案 3 :(得分:2)
在大多数情况下,更新熊猫是最好的解决方案。但是,如果您在更新熊猫版本方面有限制,并且需要使用在更高版本中生产和腌制的熊猫对象,则可以添加如下所示的类位置图。
from pandas.compat.pickle_compat import _class_locations_map
_class_locations_map.update({
('pandas.core.internals.managers', 'BlockManager'): ('pandas.core.internals', 'BlockManager')
})
答案 4 :(得分:0)
withSonarQubeEnv('SonarQubeServer') {
def sonarRunner = tool name: 'SonarQubeScanner', type: 'hudson.plugins.sonar.SonarRunnerInstallation'
sh """
${sonarRunner}/bin/sonar-scanner \
-Dsonar.projectKey=your_project_key \
-Dsonar.sources=.
"""
}
如果使用conda程序包管理器。