Anaconda没有安装软件包openpyxl和xlrd

时间:2019-03-19 22:57:04

标签: python pandas module conda

在使用pandas,numpy等安装新的Python 3.6环境后,当我尝试使用以下pandas方法时,出现以下错误:

>>> df.to_excel(filename)
ModuleNotFoundError: No module named 'openpyxl'

当我使用pd.read_excel方法时,发生了类似的问题。

在这两种情况下,都可以通过在openpyxl上安装xlrd / conda install来解决问题,但是我想知道这是否是故意的,为什么不考虑使用openpyxl / xlrd从一开始就安装了熊猫的依赖项。

2 个答案:

答案 0 :(得分:2)

是的,这是故意的。如果您阅读the Optional Dependencies section of the Pandas documentation,则可以看到其中包含Excel I / O。

对于这为什么是一件好事,我可以考虑几个论点:

  1. Pandas中集成了太多功能,因此默认情况下包括所有内容都将使安装非常膨胀。
  2. Excel I / O有多种兼容的替代方案,因此对人们施加特定选择可能并不公平,特别是如果人们已经为另一个依赖项安装了一个选择。

但是,我确实认为这里的错误处理可以改善。例如,最好提供一条消息,说没有一个软件包就无法使用此功能,而不是硬ModuleNotFoundError

答案 1 :(得分:0)

仅供参考,就我而言,Conda安装并没有解决缺少的依赖包的问题,​​而是pip install ... pip install xlrd解决了这个问题。