Source: dask
Version: 2022.01.0+dfsg-2
Severity: normal
Control: tags -1 patch

dask 2022.01 uses a deprecated scipy API and now fails tests with
scipy 1.8.1:

_____________________________ test_one[chisquare] ______________________________

kind = 'chisquare'

    @pytest.mark.parametrize(
        "kind", ["chisquare", "power_divergence", "normaltest", "skewtest", 
"kurtosistest"]
    )
    def test_one(kind):
        a = np.random.random(size=30)
        a_ = da.from_array(a, 3)
    
        dask_test = getattr(dask.array.stats, kind)
        scipy_test = getattr(scipy.stats, kind)
    
>       result = dask_test(a_)

/usr/lib/python3/dist-packages/dask/array/tests/test_stats.py:56: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3/dist-packages/dask/array/stats.py:136: in chisquare
    return power_divergence(f_obs, f_exp=f_exp, ddof=ddof, axis=axis, 
lambda_="pearson")
/usr/lib/python3/dist-packages/dask/array/stats.py:144: in power_divergence
    if lambda_ not in scipy.stats.stats._power_div_lambda_names:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

name = '_power_div_lambda_names'

    def __getattr__(name):
        if name not in __all__:
>           raise AttributeError(
                "scipy.stats.stats is deprecated and has no attribute "
                f"{name}. Try looking in scipy.stats instead.")
E           AttributeError: scipy.stats.stats is deprecated and has no 
attribute _power_div_lambda_names. Try looking in scipy.stats instead.

/usr/lib/python3/dist-packages/scipy/stats/stats.py:54: AttributeError


Likewise
test_two[chisquare-kwargs4]
test_two[power_divergence-kwargs8]
test_power_divergence_invalid


The incompatibility is fixed in dask 2022.03 (lastest is 2022.6),
or apply the patch in PR#8694
https://github.com/dask/dask/pull/8694





-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.18.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to