代码之家  ›  专栏  ›  技术社区  ›  Igor Rivin

奇怪的“arviz”安装问题

  •  0
  • Igor Rivin  · 技术社区  · 3 年前

    安装后 ArviZ 以显而易见的方式( conda install -c conda-forge arviz ),我得到以下失败。如果有人能阐明如何解决这个问题,那就太好了。

    >>> import arviz as az
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/arviz/__init__.py", line 32, in <module>
    from .data import *
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/arviz/data/__init__.py", line 2, in <module>
    from .base import CoordSpec, DimSpec, dict_to_dataset, numpy_to_data_array
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/arviz/data/base.py", line 10, in <module>
    import xarray as xr
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/__init__.py", line 3, in <module>
    from . import testing, tutorial, ufuncs
     File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/testing.py", line 8, in <module>
    from xarray.core import duck_array_ops, formatting, utils
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/core/duck_array_ops.py", line 15, in <module>
    from . import dask_array_compat, dask_array_ops, dtypes, npcompat, nputils
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/core/dask_array_compat.py", line 5, in <module>
    from .pycompat import dask_version
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/core/pycompat.py", line 55, in <module>
        dsk = DuckArrayModule("dask")
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/xarray/core/pycompat.py", line 25, in __init__
    duck_array_type = (import_module("dask.array").Array,)
      File "/Users/igor/anaconda3/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/dask/array/__init__.py", line 3, in <module>
    from . import backends, fft, lib, linalg, ma, overlap, random
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/dask/array/fft.py", line 13, in <module>
    from .core import concatenate as _concatenate
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/dask/array/core.py", line 20, in <module>
    from fsspec import get_mapper
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/fsspec/__init__.py", line 13, in <module>
    from .core import get_fs_token_paths, open, open_files, open_local
       File "/Users/igor/anaconda3/lib/python3.7/site-packages/fsspec/core.py", line 18, in <module>
    from .compression import compr
      File "/Users/igor/anaconda3/lib/python3.7/site-packages/fsspec/compression.py", line 139, in <module>
    snappy.compress
    AttributeError: module 'snappy' has no attribute 'compress'
    

    根据@merv的建议,我得到了以下内容,它解释了问题(这是一个 不同的 用于计算拓扑的名为snappy的包)。但是我该如何修复它(显而易见的解决方案是使用不同的环境,但我有点困惑,为什么一开始就有两个同名的pypi包。

    # packages in environment at /Users/igor/anaconda3:
    #
    # Name                    Version            Build           Channel
    arviz                     0.11.2             pyhd8
    dask                      2021.8.0           pyhd3eb1b0_0  
    dask-core                 2021.8.0           pyhd3eb1b0_0  
    fsspec                    2021.7.0           pyhd3eb1b0_0  
    snappy                    3.0.1                    pypi_0    pypi
    snappy-15-knots           1.1                      pypi_0    pypi
    snappy-manifolds          1.1.2                    pypi_0    pypi
    xarray                    0.19.0             pyhd3eb1b0_1  
    
    0 回复  |  直到 3 年前
        1
  •  2
  •   merv    3 年前

    查看已安装的软件包,您没有 python-snappy 安装。我刚刚验证了安装它似乎能让它正常工作,尽管你在技术上是对的 蟒蛇敏捷 snappy 正在碰撞到模块命名空间中 精炼的 .

    conda install python-snappy
    

    pip install python-snappy
    

    正如您所提到的,最好简单地使用一个新的环境,并避免 精炼的 蟒蛇敏捷 安装在同一个中。

    推荐文章