RuntimeError: Decompression 'SNAPPY' not available. Options: ['BROTLI', 'GZIP', 'UNCOMPRESSED'] (error happens only in .py and not in .ipython)

RuntimeError: Decompression 'SNAPPY' not available. Options: ['BROTLI', 'GZIP', 'UNCOMPRESSED'] (error happens only in .py and not in .ipython)

我在尝试使用带有以下代码的 fastparquet 读取镶木地板文件时遇到标题中的错误:

from fastparquet import ParquetFile
pf = ParquetFile(myfile.parquet)
df = pf.to_pandas()

我尝试了 this post 建议的解决方案,但它们对我不起作用。

后来,我也尝试了以下方法:
我从我的所有环境中卸载了 snappy(默认情况下 python-snappy 也被 conda 一起卸载了)。 然后我只在一个环境中安装了 python-snappy - 假设 env1 (默认情况下 snappy 是由 conda 安装在一起的)。我 运行 .py.ipython 中的相同代码都在 env1 中。 .py 再次无效(与上述相同的错误)并且 .ipython 有效...
然后我 运行 在另一个环境中(env2,我还没有安装 python-snappy),然后 .ipython 再次工作 ! !而在这个环境下,.py 没有工作,我可以理解,因为我还没有安装它。我真的很困惑那里发生了什么,为什么 .py 不能正常工作。如果有任何提示,我将不胜感激。

有关软件包和版本的详细信息,请参阅 here

经过尝试,我找到了解决方法: 我从 the PyPI website 下载了 python-snappy 的 wheel 文件并通过 pip install --force-reinstall python_snappy-0.6.0-cp38-cp38-win_amd64.whl 手动安装它,这个错误消失了。 希望这可以帮助其他遇到同样问题的人。