在以显而易见的方式安装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 发布于 2021-08-26 16:37:07
查看已安装的包,您没有安装python-snappy。我刚刚验证了安装它似乎能让它工作,尽管您是对的,从技术上讲,python-snappy和snappy正在与模块命名空间snappy发生冲突。
conda install python-snappy或
pip install python-snappy正如您提到的,最好简单地使用一个新环境,并避免将snappy和python-snappy安装在同一个环境中。
https://stackoverflow.com/questions/68926766
复制相似问题