Your message dated Tue, 06 Dec 2022 15:23:24 +0000
with message-id <e1p2zn2-00do6t...@fasolo.debian.org>
and subject line Bug#1023978: fixed in scikit-learn 1.1.2+dfsg-91
has caused the Debian Bug report #1023978,
regarding scikit-learn: FTBFS with Python 3.11 as a supported version
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1023978: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1023978
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: scikit-learn
Version: 1.1.2+dfsg-7
Severity: serious
Tags: ftbfs
User: debian-pyt...@lists.debian.org
Usertags: python3.11

Hi Maintainer

scikit-learn FTBFS with Python 3.11 as a supported version.  I've
copied what I hope is the relevant part of the log below.

Regards
Graham


==================================== ERRORS ====================================
_________________ ERROR at setup of test_load_empty_lfw_people _________________

    def setup_module():
        """Test fixture run once and common to all tests of this module"""
        Image = pytest.importorskip("PIL.Image")

        global SCIKIT_LEARN_DATA, SCIKIT_LEARN_EMPTY_DATA, LFW_HOME

        SCIKIT_LEARN_DATA = tempfile.mkdtemp(prefix="scikit_learn_lfw_test_")
        LFW_HOME = os.path.join(SCIKIT_LEARN_DATA, "lfw_home")

        SCIKIT_LEARN_EMPTY_DATA =
tempfile.mkdtemp(prefix="scikit_learn_empty_test_")

        if not os.path.exists(LFW_HOME):
            os.makedirs(LFW_HOME)

        random_state = random.Random(42)
        np_rng = np.random.RandomState(42)

        # generate some random jpeg files for each person
        counts = {}
        for name in FAKE_NAMES:
            folder_name = os.path.join(LFW_HOME, "lfw_funneled", name)
            if not os.path.exists(folder_name):
                os.makedirs(folder_name)

            n_faces = np_rng.randint(1, 5)
            counts[name] = n_faces
            for i in range(n_faces):
                file_path = os.path.join(folder_name, name + "_%04d.jpg" % i)
                uniface = np_rng.randint(0, 255, size=(250, 250, 3))
                img = Image.fromarray(uniface.astype(np.uint8))
                img.save(file_path)

        # add some random file pollution to test robustness
        with open(os.path.join(LFW_HOME, "lfw_funneled", ".test.swp"),
"wb") as f:
            f.write(b"Text file to be ignored by the dataset loader.")

        # generate some pairing metadata files using the same format as LFW
        with open(os.path.join(LFW_HOME, "pairsDevTrain.txt"), "wb") as f:
            f.write(b"10\n")
            more_than_two = [name for name, count in counts.items() if
count >= 2]
            for i in range(5):
                name = random_state.choice(more_than_two)
                first, second = random_state.sample(range(counts[name]), 2)
                f.write(("%s\t%d\t%d\n" % (name, first, second)).encode())

            for i in range(5):
                first_name, second_name = random_state.sample(FAKE_NAMES, 2)
>               first_index = random_state.choice(np.arange(counts[first_name]))

sklearn/datasets/tests/test_lfw.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <random.Random object at 0x6d1b4e0>, seq = array([0, 1, 2])

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
>       if not seq:
E       ValueError: The truth value of an array with more than one
element is ambiguous. Use a.any() or a.all()

/usr/lib/python3.11/random.py:369: ValueError
_________________ ERROR at setup of test_load_fake_lfw_people __________________

    def setup_module():
        """Test fixture run once and common to all tests of this module"""
        Image = pytest.importorskip("PIL.Image")

        global SCIKIT_LEARN_DATA, SCIKIT_LEARN_EMPTY_DATA, LFW_HOME

        SCIKIT_LEARN_DATA = tempfile.mkdtemp(prefix="scikit_learn_lfw_test_")
        LFW_HOME = os.path.join(SCIKIT_LEARN_DATA, "lfw_home")

        SCIKIT_LEARN_EMPTY_DATA =
tempfile.mkdtemp(prefix="scikit_learn_empty_test_")

        if not os.path.exists(LFW_HOME):
            os.makedirs(LFW_HOME)

        random_state = random.Random(42)
        np_rng = np.random.RandomState(42)

        # generate some random jpeg files for each person
        counts = {}
        for name in FAKE_NAMES:
            folder_name = os.path.join(LFW_HOME, "lfw_funneled", name)
            if not os.path.exists(folder_name):
                os.makedirs(folder_name)

            n_faces = np_rng.randint(1, 5)
            counts[name] = n_faces
            for i in range(n_faces):
                file_path = os.path.join(folder_name, name + "_%04d.jpg" % i)
                uniface = np_rng.randint(0, 255, size=(250, 250, 3))
                img = Image.fromarray(uniface.astype(np.uint8))
                img.save(file_path)

        # add some random file pollution to test robustness
        with open(os.path.join(LFW_HOME, "lfw_funneled", ".test.swp"),
"wb") as f:
            f.write(b"Text file to be ignored by the dataset loader.")

        # generate some pairing metadata files using the same format as LFW
        with open(os.path.join(LFW_HOME, "pairsDevTrain.txt"), "wb") as f:
            f.write(b"10\n")
            more_than_two = [name for name, count in counts.items() if
count >= 2]
            for i in range(5):
                name = random_state.choice(more_than_two)
                first, second = random_state.sample(range(counts[name]), 2)
                f.write(("%s\t%d\t%d\n" % (name, first, second)).encode())

            for i in range(5):
                first_name, second_name = random_state.sample(FAKE_NAMES, 2)
>               first_index = random_state.choice(np.arange(counts[first_name]))

sklearn/datasets/tests/test_lfw.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <random.Random object at 0x6d1b4e0>, seq = array([0, 1, 2])

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
>       if not seq:
E       ValueError: The truth value of an array with more than one
element is ambiguous. Use a.any() or a.all()

/usr/lib/python3.11/random.py:369: ValueError
_________ ERROR at setup of test_load_fake_lfw_people_too_restrictive __________

    def setup_module():
        """Test fixture run once and common to all tests of this module"""
        Image = pytest.importorskip("PIL.Image")

        global SCIKIT_LEARN_DATA, SCIKIT_LEARN_EMPTY_DATA, LFW_HOME

        SCIKIT_LEARN_DATA = tempfile.mkdtemp(prefix="scikit_learn_lfw_test_")
        LFW_HOME = os.path.join(SCIKIT_LEARN_DATA, "lfw_home")

        SCIKIT_LEARN_EMPTY_DATA =
tempfile.mkdtemp(prefix="scikit_learn_empty_test_")

        if not os.path.exists(LFW_HOME):
            os.makedirs(LFW_HOME)

        random_state = random.Random(42)
        np_rng = np.random.RandomState(42)

        # generate some random jpeg files for each person
        counts = {}
        for name in FAKE_NAMES:
            folder_name = os.path.join(LFW_HOME, "lfw_funneled", name)
            if not os.path.exists(folder_name):
                os.makedirs(folder_name)

            n_faces = np_rng.randint(1, 5)
            counts[name] = n_faces
            for i in range(n_faces):
                file_path = os.path.join(folder_name, name + "_%04d.jpg" % i)
                uniface = np_rng.randint(0, 255, size=(250, 250, 3))
                img = Image.fromarray(uniface.astype(np.uint8))
                img.save(file_path)

        # add some random file pollution to test robustness
        with open(os.path.join(LFW_HOME, "lfw_funneled", ".test.swp"),
"wb") as f:
            f.write(b"Text file to be ignored by the dataset loader.")

        # generate some pairing metadata files using the same format as LFW
        with open(os.path.join(LFW_HOME, "pairsDevTrain.txt"), "wb") as f:
            f.write(b"10\n")
            more_than_two = [name for name, count in counts.items() if
count >= 2]
            for i in range(5):
                name = random_state.choice(more_than_two)
                first, second = random_state.sample(range(counts[name]), 2)
                f.write(("%s\t%d\t%d\n" % (name, first, second)).encode())

            for i in range(5):
                first_name, second_name = random_state.sample(FAKE_NAMES, 2)
>               first_index = random_state.choice(np.arange(counts[first_name]))

sklearn/datasets/tests/test_lfw.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <random.Random object at 0x6d1b4e0>, seq = array([0, 1, 2])

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
>       if not seq:
E       ValueError: The truth value of an array with more than one
element is ambiguous. Use a.any() or a.all()

/usr/lib/python3.11/random.py:369: ValueError
_________________ ERROR at setup of test_load_empty_lfw_pairs __________________

    def setup_module():
        """Test fixture run once and common to all tests of this module"""
        Image = pytest.importorskip("PIL.Image")

        global SCIKIT_LEARN_DATA, SCIKIT_LEARN_EMPTY_DATA, LFW_HOME

        SCIKIT_LEARN_DATA = tempfile.mkdtemp(prefix="scikit_learn_lfw_test_")
        LFW_HOME = os.path.join(SCIKIT_LEARN_DATA, "lfw_home")

        SCIKIT_LEARN_EMPTY_DATA =
tempfile.mkdtemp(prefix="scikit_learn_empty_test_")

        if not os.path.exists(LFW_HOME):
            os.makedirs(LFW_HOME)

        random_state = random.Random(42)
        np_rng = np.random.RandomState(42)

        # generate some random jpeg files for each person
        counts = {}
        for name in FAKE_NAMES:
            folder_name = os.path.join(LFW_HOME, "lfw_funneled", name)
            if not os.path.exists(folder_name):
                os.makedirs(folder_name)

            n_faces = np_rng.randint(1, 5)
            counts[name] = n_faces
            for i in range(n_faces):
                file_path = os.path.join(folder_name, name + "_%04d.jpg" % i)
                uniface = np_rng.randint(0, 255, size=(250, 250, 3))
                img = Image.fromarray(uniface.astype(np.uint8))
                img.save(file_path)

        # add some random file pollution to test robustness
        with open(os.path.join(LFW_HOME, "lfw_funneled", ".test.swp"),
"wb") as f:
            f.write(b"Text file to be ignored by the dataset loader.")

        # generate some pairing metadata files using the same format as LFW
        with open(os.path.join(LFW_HOME, "pairsDevTrain.txt"), "wb") as f:
            f.write(b"10\n")
            more_than_two = [name for name, count in counts.items() if
count >= 2]
            for i in range(5):
                name = random_state.choice(more_than_two)
                first, second = random_state.sample(range(counts[name]), 2)
                f.write(("%s\t%d\t%d\n" % (name, first, second)).encode())

            for i in range(5):
                first_name, second_name = random_state.sample(FAKE_NAMES, 2)
>               first_index = random_state.choice(np.arange(counts[first_name]))

sklearn/datasets/tests/test_lfw.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <random.Random object at 0x6d1b4e0>, seq = array([0, 1, 2])

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
>       if not seq:
E       ValueError: The truth value of an array with more than one
element is ambiguous. Use a.any() or a.all()

/usr/lib/python3.11/random.py:369: ValueError
__________________ ERROR at setup of test_load_fake_lfw_pairs __________________

    def setup_module():
        """Test fixture run once and common to all tests of this module"""
        Image = pytest.importorskip("PIL.Image")

        global SCIKIT_LEARN_DATA, SCIKIT_LEARN_EMPTY_DATA, LFW_HOME

        SCIKIT_LEARN_DATA = tempfile.mkdtemp(prefix="scikit_learn_lfw_test_")
        LFW_HOME = os.path.join(SCIKIT_LEARN_DATA, "lfw_home")

        SCIKIT_LEARN_EMPTY_DATA =
tempfile.mkdtemp(prefix="scikit_learn_empty_test_")

        if not os.path.exists(LFW_HOME):
            os.makedirs(LFW_HOME)

        random_state = random.Random(42)
        np_rng = np.random.RandomState(42)

        # generate some random jpeg files for each person
        counts = {}
        for name in FAKE_NAMES:
            folder_name = os.path.join(LFW_HOME, "lfw_funneled", name)
            if not os.path.exists(folder_name):
                os.makedirs(folder_name)

            n_faces = np_rng.randint(1, 5)
            counts[name] = n_faces
            for i in range(n_faces):
                file_path = os.path.join(folder_name, name + "_%04d.jpg" % i)
                uniface = np_rng.randint(0, 255, size=(250, 250, 3))
                img = Image.fromarray(uniface.astype(np.uint8))
                img.save(file_path)

        # add some random file pollution to test robustness
        with open(os.path.join(LFW_HOME, "lfw_funneled", ".test.swp"),
"wb") as f:
            f.write(b"Text file to be ignored by the dataset loader.")

        # generate some pairing metadata files using the same format as LFW
        with open(os.path.join(LFW_HOME, "pairsDevTrain.txt"), "wb") as f:
            f.write(b"10\n")
            more_than_two = [name for name, count in counts.items() if
count >= 2]
            for i in range(5):
                name = random_state.choice(more_than_two)
                first, second = random_state.sample(range(counts[name]), 2)
                f.write(("%s\t%d\t%d\n" % (name, first, second)).encode())

            for i in range(5):
                first_name, second_name = random_state.sample(FAKE_NAMES, 2)
>               first_index = random_state.choice(np.arange(counts[first_name]))

sklearn/datasets/tests/test_lfw.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <random.Random object at 0x6d1b4e0>, seq = array([0, 1, 2])

    def choice(self, seq):
        """Choose a random element from a non-empty sequence."""
>       if not seq:
E       ValueError: The truth value of an array with more than one
element is ambiguous. Use a.any() or a.all()

/usr/lib/python3.11/random.py:369: ValueError

--- End Message ---
--- Begin Message ---
Source: scikit-learn
Source-Version: 1.1.2+dfsg-91
Done: Stuart Prescott <stu...@debian.org>

We believe that the bug you reported is fixed in the latest version of
scikit-learn, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1023...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stuart Prescott <stu...@debian.org> (supplier of updated scikit-learn package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 07 Dec 2022 00:34:07 +1100
Source: scikit-learn
Architecture: source
Version: 1.1.2+dfsg-91
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers 
<debian-science-maintain...@lists.alioth.debian.org>
Changed-By: Stuart Prescott <stu...@debian.org>
Closes: 1023978
Changes:
 scikit-learn (1.1.2+dfsg-91) unstable; urgency=medium
 .
   * Team upload.
   * Fix FTBFS with Python 3.11 with upstream patch found by Paul Wise
     (Closes: #1023978).
Checksums-Sha1:
 b57b1248289b40789aec886a38d414f4e8cda338 3037 scikit-learn_1.1.2+dfsg-91.dsc
 84bbf1168f50ebc6f0b9e0fd0945eaa5b741f82f 23468 
scikit-learn_1.1.2+dfsg-91.debian.tar.xz
 c27f1d73d5a706a23fb599ce1e4764168cb1f86f 14076 
scikit-learn_1.1.2+dfsg-91_amd64.buildinfo
Checksums-Sha256:
 a2672b87ef7e028bd77bfaee27ab2a0e0778907bd3e0bc0db09b481ba763a499 3037 
scikit-learn_1.1.2+dfsg-91.dsc
 b4688ddce3b907aae75c0becd48e832f179116695991e698fb48eb950569624f 23468 
scikit-learn_1.1.2+dfsg-91.debian.tar.xz
 0d8e64ed6be2b02d7922be9272f4017c139e68a89b119c8621644c667273d6c9 14076 
scikit-learn_1.1.2+dfsg-91_amd64.buildinfo
Files:
 249becc681632a5d069ac5941967571a 3037 python optional 
scikit-learn_1.1.2+dfsg-91.dsc
 54c8f7d569f1cbc612cdac9d5d996b07 23468 python optional 
scikit-learn_1.1.2+dfsg-91.debian.tar.xz
 92d282506385d5cf44b5e77ac8c40cad 14076 python optional 
scikit-learn_1.1.2+dfsg-91_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkOLSwa0Uaht+u4kdu8F+uxOW8vcFAmOPVmAACgkQu8F+uxOW
8vdV5w//SS8bFDM3HTfCHd5PcAS8MTBkbYSETmh8URO/5cZViiETU7r36WqhBSsq
DwrD5xR4WulbsUZQA9M2VHTLof8gyL1V+nEOBQF9POrrgYW0t3NAnz3V9QjUqgN6
BPSywIzfCpmTSss2u4KFxzVXxVIWVzxGj8JQdo4ji8L7A97V/b2uMm2qCJHEzHA0
UQujb5Ib3Z/6hbaWa7SRYqA2Oqy4atHu4dsWVhuCqh5V/eSY1xPLust2qLfqtFHO
udAqJ+BUl1Mtt94SO/VJar/68qeU7PDL15wkeStsGXZnG086zItgiiyICOhPP5Y2
6a9kK84HUlQVi3LMbOGzvBTMjl7nwLfOvyRi067ODUA3QW9OrTpdjttgWqKU1IXR
aAp0WUoj4VEACRXceDaVtkKkPvlsQNr3qmkXCuk3b0zuiLwo3lf6JeIvYVYeYAlm
AeuFa/b6nX4ETdLCrRzfDKsAe8jR1lxM5EuAhROFLp59CxPKEME+UBJLrNTLa07g
vEMAseU4Jx96Xi35U2sUj5Co+Z1rCfAe0KoXcb6Z+yNWcV8UwJa5bdhrPvDBUtPd
Dc/Y3eUyBH0sVQFPRtQga/7ZhxOZ73oCTfQovWBqvF3+Jj7MpkVGZY4cZy6Buqcv
au/pNzn25UU+31cusDMWLis6uIh3jZgFcLCLeOlDS9XV2H3ZlB8=
=CcDO
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to