在python中导入fastparquet时出现snappy错误

sto*_*eld 6 python snappy anaconda conda fastparquet

我安装了已经安装了python(3.6)&anaconda的EC2服务器中的以下模块:

  • 瞬间
  • pyarrow
  • s3fs
  • fastparquet

除了fastparquet,其他一切都在导入.当我尝试导入fastparquet时,它会抛出以下错误:

[username@ip8 ~]$ conda -V
conda 4.2.13
[username@ip-~]$ python
    Python 3.6.0 |Anaconda custom (64-bit)| (default, Dec 23 2016, 12:22:00)
    [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
     import fastparquet
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/home/username/anaconda3/lib/python3.6/site-packages/fastparquet/__init__.py", line 15, in <module>
        from .core import read_thrift
      File "/home/username/anaconda3/lib/python3.6/site-packages/fastparquet/core.py", line 11, in <module>
        from .compression import decompress_data
      File "/home/username/anaconda3/lib/python3.6/site-packages/fastparquet/compression.py", line 43, in <module>
        compressions['SNAPPY'] = snappy.compress
    AttributeError: module 'snappy' has no attribute 'compress'
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

mdu*_*ant 10

不幸的是,python-land中有很多东西叫做"snappy".我相信你可能有错误的,在这种情况下,以下conda命令之一应该为你解决这个问题:

conda install python-snappy
Run Code Online (Sandbox Code Playgroud)

要么

conda install python-snappy -c conda-forge
Run Code Online (Sandbox Code Playgroud)

后者稍微更近一些(释放GIL,这在线程应用程序中很重要).