Open mdancho84 opened 8 months ago
Had an issue when I created an environment today with pytimetk, which uses pandas_flavor. The issue stems from changes made to xarray.
pytimetk
pandas_flavor
xarray
The solution was to downgrade to xarray==2023.10.1.
xarray==2023.10.1
Here's the traceback:
ImportError Traceback (most recent call last) /Users/mdancho/Desktop/learning_labs/lab_91_customer_lifetime_value_python_2/01_descriptive_clv.py in line 1 ----> 14 import pytimetk as tk File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/pytimetk/__init__.py:4 2 # *** Import everything to make pytimetk a standalone package *** ----> 4 from .plot.plot_timeseries import * 5 from .plot.plot_anomalies import * 6 from .plot.plot_anomalies_decomp import * File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/pytimetk/plot/__init__.py:1 ----> 1 from .plot_timeseries import * 2 from .plot_anomalies import * 3 from .plot_anomalies_decomp import * File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/pytimetk/plot/plot_timeseries.py:3 1 import pandas as pd 2 import numpy as np ----> 3 import pandas_flavor as pf 5 from plotnine import * 7 import plotly.express as px File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/pandas_flavor/__init__.py:8 1 """Top-level API for pandas-flavor.""" 2 from .register import ( 3 register_dataframe_accessor, 4 register_dataframe_method, 5 register_series_accessor, 6 register_series_method, 7 ) ----> 8 from .xarray import ( 9 register_xarray_dataarray_method, 10 register_xarray_dataset_method, 11 ) 13 __all__ = [ 14 "register_series_method", 15 "register_series_accessor", (...) 19 "register_xarray_dataset_method", 20 ] File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/pandas_flavor/xarray.py:2 1 """XArray support for pandas_flavor.""" ----> 2 from xarray import register_dataarray_accessor, register_dataset_accessor 3 from functools import wraps 6 def make_accessor_wrapper(method): File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/__init__.py:1 ----> 1 from xarray import testing, tutorial 2 from xarray.backends.api import ( 3 load_dataarray, 4 load_dataset, (...) 8 save_mfdataset, 9 ) 10 from xarray.backends.zarr import open_zarr File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/testing/__init__.py:1 ----> 1 from xarray.testing.assertions import ( # noqa: F401 2 _assert_dataarray_invariants, 3 _assert_dataset_invariants, 4 _assert_indexes_invariants_checks, 5 _assert_internal_invariants, 6 _assert_variable_invariants, 7 _data_allclose_or_equiv, 8 assert_allclose, 9 assert_chunks_equal, 10 assert_duckarray_allclose, 11 assert_duckarray_equal, 12 assert_equal, 13 assert_identical, 14 ) 16 __all__ = [ 17 "assert_allclose", 18 "assert_chunks_equal", (...) 22 "assert_identical", 23 ] File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/testing/assertions.py:11 8 import pandas as pd 10 from xarray.core import duck_array_ops, formatting, utils ---> 11 from xarray.core.coordinates import Coordinates 12 from xarray.core.dataarray import DataArray 13 from xarray.core.dataset import Dataset File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/coordinates.py:18 11 from xarray.core import formatting 12 from xarray.core.indexes import ( 13 Index, 14 Indexes, 15 PandasMultiIndex, 16 assert_no_index_corrupted, 17 ) ---> 18 from xarray.core.merge import merge_coordinates_without_align, merge_coords 19 from xarray.core.utils import Frozen, ReprObject 20 from xarray.core.variable import Variable, calculate_dimensions File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/merge.py:10 7 import pandas as pd 9 from xarray.core import dtypes ---> 10 from xarray.core.alignment import deep_align 11 from xarray.core.duck_array_ops import lazy_array_equiv 12 from xarray.core.indexes import ( 13 Index, 14 Indexes, (...) 17 indexes_equal, 18 ) File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/alignment.py:14 11 import pandas as pd 13 from xarray.core import dtypes ---> 14 from xarray.core.common import DataWithCoords 15 from xarray.core.indexes import ( 16 Index, 17 Indexes, (...) 21 safe_cast_to_index, 22 ) 23 from xarray.core.utils import is_dict_like, is_full_slice File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/common.py:17 15 from xarray.core.options import OPTIONS, _get_keep_attrs 16 from xarray.core.parallelcompat import get_chunked_array_type, guess_chunkmanager ---> 17 from xarray.core.pdcompat import _convert_base_to_offset 18 from xarray.core.pycompat import is_chunked_array 19 from xarray.core.utils import ( 20 Frozen, 21 either_dict_or_kwargs, 22 emit_user_level_warning, 23 is_scalar, 24 ) File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/pdcompat.py:44 41 import pandas as pd 42 from packaging.version import Version ---> 44 from xarray.coding import cftime_offsets 47 def count_not_none(*args) -> int: 48 """Compute the number of non-None arguments. 49 50 Copied from pandas.core.common.count_not_none (not part of the public API) 51 """ File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/coding/cftime_offsets.py:52 49 import numpy as np 50 import pandas as pd ---> 52 from xarray.coding.cftimeindex import CFTimeIndex, _parse_iso8601_with_reso 53 from xarray.coding.times import ( 54 _is_standard_calendar, 55 _should_cftime_be_used, 56 convert_time_or_go_back, 57 format_cftime_datetime, 58 ) 59 from xarray.core.common import _contains_datetime_like_objects, is_np_datetime_like File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/coding/cftimeindex.py:52 49 import pandas as pd 50 from packaging.version import Version ---> 52 from xarray.coding.times import ( 53 _STANDARD_CALENDARS, 54 cftime_to_nptime, 55 infer_calendar_name, 56 ) 57 from xarray.core.common import _contains_cftime_datetimes 58 from xarray.core.options import OPTIONS File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/coding/times.py:14 11 import pandas as pd 12 from pandas.errors import OutOfBoundsDatetime, OutOfBoundsTimedelta ---> 14 from xarray.coding.variables import ( 15 SerializationWarning, 16 VariableCoder, 17 lazy_elemwise_func, 18 pop_to, 19 safe_setitem, 20 unpack_for_decoding, 21 unpack_for_encoding, 22 ) 23 from xarray.core import indexing 24 from xarray.core.common import contains_cftime_datetimes, is_np_datetime_like File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/coding/variables.py:15 13 from xarray.core.parallelcompat import get_chunked_array_type 14 from xarray.core.pycompat import is_chunked_array ---> 15 from xarray.core.variable import Variable 17 if TYPE_CHECKING: 18 T_VarTuple = tuple[tuple[Hashable, ...], Any, dict, dict] File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/variable.py:19 17 import xarray as xr # only for Dataset and DataArray 18 from xarray.core import common, dtypes, duck_array_ops, indexing, nputils, ops, utils ---> 19 from xarray.core.arithmetic import VariableArithmetic 20 from xarray.core.common import AbstractArray 21 from xarray.core.indexing import ( 22 BasicIndexer, 23 OuterIndexer, (...) 26 as_indexable, 27 ) File ~/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/arithmetic.py:16 8 # _typed_ops.py is a generated file 9 from xarray.core._typed_ops import ( 10 DataArrayGroupByOpsMixin, 11 DataArrayOpsMixin, (...) 14 VariableOpsMixin, 15 ) ---> 16 from xarray.core.common import ImplementsArrayReduce, ImplementsDatasetReduce 17 from xarray.core.ops import ( 18 IncludeCumMethods, 19 IncludeNumpySameMethods, 20 IncludeReduceMethods, 21 ) 22 from xarray.core.options import OPTIONS, _get_keep_attrs ImportError: cannot import name 'ImplementsArrayReduce' from partially initialized module 'xarray.core.common' (most likely due to a circular import) (/Users/mdancho/opt/anaconda3/envs/lab_91_cltv/lib/python3.9/site-packages/xarray/core/common.py)
thanks for the feedback @mdancho84 I might be wrong; it looks like this is more with xarray than with pandas_flavor. tagging @ericmjl for his opinion
Had an issue when I created an environment today with
pytimetk
, which usespandas_flavor
. The issue stems from changes made toxarray
.The solution was to downgrade to
xarray==2023.10.1
.Here's the traceback: