减压' SNAPPY'没有fastparquet

时间:2018-06-11 15:01:22

标签: python-3.x snappy fastparquet

我正在尝试使用fastparquet打开文件,但我收到错误:

RuntimeError: Decompression 'SNAPPY' not available.  Options: ['GZIP', 'UNCOMPRESSED']

我安装了以下内容并重新启动了我的解释器:

python                    3.6.5                hc3d631a_2  
python-snappy             0.5.2                    py36_0    conda-forge
snappy                    1.1.7                hbae5bb6_3  
fastparquet               0.1.5                    py36_0    conda-forge

一切顺利下载。我不知道我是否需要活泼或python-snappy所以我得到一个没有修复而得到另一个,仍然没有成功。我发现的所有相关问题在下载snappy时都已修复,但我仍然因为有两个snappys而遇到此错误!任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:10)

您需要按照Catbuilts的响应来安装python-snappy。但是,应该仅将c中的snappy implementation的包装器安装在您的计算机中,此answer中有关安装snappy-c的问题已得到解决。

假设您拥有基于 DEB的系统(例如ubuntu),则可以使用以下方法获取它:

sudo apt-get install libsnappy-dev
python3 -m pip install --user python-snappy

要对其进行测试,可以尝试以下脚本:

import pandas as pd
import snappy  # Not required but snappy (python-snappy) module should be reachable
from fastparquet import write, ParquetFile
df = pd.DataFrame({"col1": [1,2,3,4], "col2": ["a","b","c","d"]})
# df.head() # Test your initial value
write("/tmp/deleteme", df, compression="SNAPPY")
df_parquet = ParquetFile("/tmp/deleteme").to_pandas()
df_parquet.head()

答案 1 :(得分:2)

运行:

pip install python-snappy
pip install pyarrow 

应该可以解决问题。

我认为您缺少pyarrow软件包。

如果pip出错,请改用conda(即conda install python-snappy)。

答案 2 :(得分:0)

以下安装非常有用

pip install fastparquet

pip install python-snappy

pip install pyarrow