Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1001395: python-boto: (autopkgtest) needs update for python3.10: 'Mapping' from 'collections' removed

347 views
Skip to first unread message

Paul Gevers

unread,
Dec 9, 2021, 10:10:04 AM12/9/21
to
Source: python-boto
Version: 2.49.0-3
Severity: serious
X-Debbugs-CC: debi...@lists.debian.org
Tags: sid bookworm
User: debi...@lists.debian.org
Usertags: needs-update
User: debian...@lists.debian.org
Usertags: python3.10
Control: affects -1 src:python3-defaults

Dear maintainer(s),

We are in the transition of adding python2.10 to the supported Python
versions [0]. With a recent upload of python3-defaults the autopkgtest
of python-boto fails in testing when that autopkgtest is run with the
binary packages of python3-defaults from unstable. It passes when run
with only packages from testing. In tabular form:

pass fail
python3-defaults from testing 3.9.8-1
python-boto from testing 2.49.0-3
all others from testing from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of python3-defaults
to testing [1]. https://docs.python.org/3/whatsnew/3.10.html lists
what's new in Python2.10, it may help to identify what needs to be
updated. https://docs.python.org/3.9/library/collections.html says:
"""
Deprecated since version 3.3, will be removed in version 3.10: Moved
Collections Abstract Base Classes to the collections.abc module. For
backwards compatibility, they continue to be visible in this module
through Python 3.9.
"""
Time to move on.

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=python3-defaults

https://ci.debian.net/data/autopkgtest/testing/amd64/p/python-boto/17420643/log.gz

................................................................................................................................................................................................................EEE..E................................................................................................................................................................................................................................................S............................................................................S..........E...............................................................................................................................................................................................................................................................................SS...........................................................................................E...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
======================================================================
ERROR: Failure: ImportError (cannot import name 'Mapping' from
'collections' (/usr/lib/python3.10/collections/__init__.py))
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in
runTest
raise self.exc_val.with_traceback(self.tb)
File "/usr/lib/python3/dist-packages/nose/loader.py", line 416, in
loadTestsFromName
module = self.importer.importFromPath(
File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in
importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in
importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/usr/lib/python3.10/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/usr/lib/python3.10/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/dynamodb/test_batch.py",
line 27, in <module>
from boto.dynamodb.layer2 import Layer2
File "/usr/lib/python3/dist-packages/boto/dynamodb/layer2.py", line
28, in <module>
from boto.dynamodb.types import get_dynamodb_type, Dynamizer, \
File "/usr/lib/python3/dist-packages/boto/dynamodb/types.py", line
30, in <module>
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)

======================================================================
ERROR: Failure: ImportError (cannot import name 'Mapping' from
'collections' (/usr/lib/python3.10/collections/__init__.py))
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in
runTest
raise self.exc_val.with_traceback(self.tb)
File "/usr/lib/python3/dist-packages/nose/loader.py", line 416, in
loadTestsFromName
module = self.importer.importFromPath(
File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in
importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in
importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/usr/lib/python3.10/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/usr/lib/python3.10/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/dynamodb/test_layer2.py",
line 27, in <module>
from boto.dynamodb.layer2 import Layer2
File "/usr/lib/python3/dist-packages/boto/dynamodb/layer2.py", line
28, in <module>
from boto.dynamodb.types import get_dynamodb_type, Dynamizer, \
File "/usr/lib/python3/dist-packages/boto/dynamodb/types.py", line
30, in <module>
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)

======================================================================
ERROR: Failure: ImportError (cannot import name 'Mapping' from
'collections' (/usr/lib/python3.10/collections/__init__.py))
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in
runTest
raise self.exc_val.with_traceback(self.tb)
File "/usr/lib/python3/dist-packages/nose/loader.py", line 416, in
loadTestsFromName
module = self.importer.importFromPath(
File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in
importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in
importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/usr/lib/python3.10/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/usr/lib/python3.10/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/dynamodb/test_types.py",
line 27, in <module>
from boto.dynamodb import types
File "/usr/lib/python3/dist-packages/boto/dynamodb/types.py", line
30, in <module>
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)

======================================================================
ERROR: Failure: ImportError (cannot import name 'Mapping' from
'collections' (/usr/lib/python3.10/collections/__init__.py))
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/nose/failure.py", line 39, in
runTest
raise self.exc_val.with_traceback(self.tb)
File "/usr/lib/python3/dist-packages/nose/loader.py", line 416, in
loadTestsFromName
module = self.importer.importFromPath(
File "/usr/lib/python3/dist-packages/nose/importer.py", line 47, in
importFromPath
return self.importFromDir(dir_path, fqname)
File "/usr/lib/python3/dist-packages/nose/importer.py", line 94, in
importFromDir
mod = load_module(part_fqname, fh, filename, desc)
File "/usr/lib/python3.10/imp.py", line 235, in load_module
return load_source(name, filename, file)
File "/usr/lib/python3.10/imp.py", line 172, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 719, in _load
File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 883, in exec_module
File "<frozen importlib._bootstrap>", line 241, in
_call_with_frames_removed
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/dynamodb2/test_table.py",
line 3, in <module>
from boto.dynamodb2.fields import (HashKey, RangeKey,
File "/usr/lib/python3/dist-packages/boto/dynamodb2/fields.py", line
1, in <module>
from boto.dynamodb2.types import STRING
File "/usr/lib/python3/dist-packages/boto/dynamodb2/types.py", line
4, in <module>
from boto.dynamodb.types import NonBooleanDynamizer, Dynamizer
File "/usr/lib/python3/dist-packages/boto/dynamodb/types.py", line
30, in <module>
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)

======================================================================
ERROR: test_destructure_object
(tests.unit.mws.test_connection.TestMWSConnection)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/mws/test_connection.py",
line 103, in test_destructure_object
destructure_object(user, result, prefix='Prefix', members=members)
File "/usr/lib/python3/dist-packages/boto/mws/connection.py", line
112, in destructure_object
elif isinstance(value, collections.Mapping):
AttributeError: module 'collections' has no attribute 'Mapping'
-------------------- >> begin captured logging << --------------------
boto: DEBUG: Using access key provided by client.
boto: DEBUG: Using secret key provided by client.
--------------------- >> end captured logging << ---------------------

======================================================================
ERROR: test_connect_to_region
(tests.unit.test_connect_to_region.TestDynamodbConnection)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/tmp/autopkgtest-lxc.u0m93kt_/downtmp/autopkgtest_tmp/tests/unit/test_connect_to_region.py",
line 179, in test_connect_to_region
from boto.dynamodb.layer2 import Layer2
File "/usr/lib/python3/dist-packages/boto/dynamodb/layer2.py", line
28, in <module>
from boto.dynamodb.types import get_dynamodb_type, Dynamizer, \
File "/usr/lib/python3/dist-packages/boto/dynamodb/types.py", line
30, in <module>
from collections import Mapping
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib/python3.10/collections/__init__.py)

----------------------------------------------------------------------
Ran 1595 tests in 5.265s

FAILED (SKIP=4, errors=6)
autopkgtest [13:25:05]: test unit

OpenPGP_signature

Noah Meyerhans

unread,
Dec 11, 2021, 1:20:03 PM12/11/21
to
On Thu, Dec 09, 2021 at 04:02:24PM +0100, Paul Gevers wrote:
> Source: python-boto
> Version: 2.49.0-3
> Severity: serious

We should probably pursue the removal of this package before the
bookworm release rather than trying to drag it forward for another
release. It's dead upstream in favor of the python-boto3 branch.

On sid we currently see the follow rdeps:
root@c93c6872f764:/# grep-aptavail -w -s Package -F Depends python3-boto
Package: augur
Package: debian-cloud-images-packages
Package: python3-glance
Package: heat-cfntools
Package: python3-bioblend

Does anybody strongly object to this approach?

noah

Paul Wise

unread,
Dec 19, 2021, 1:00:03 AM12/19/21
to
On Sun, 19 Dec 2021 13:03:38 +0800 Paul Wise wrote:
> On Sat, 11 Dec 2021 10:15:42 -0800 Noah Meyerhans wrote:
>
> > On sid we currently see the follow rdeps:
>
> There are a few more in Build-Depends

Also there are a few Recommends and Suggests:

$ reverse-depends -s python3-boto
Reverse-Recommends
* python3-datalad
* toil

Reverse-Suggests
* duplicity [amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x]
* monitoring-plugins-contrib [amd64 arm64 armel armhf i386 mips64el mipsel ppc64el s390x]
* python3-dask
* python3-django-extensions
* python3-kombu

Reverse-Depends
* augur
* debian-cloud-images-packages [amd64 arm64 ppc64el]
* heat-cfntools
* python3-bioblend

Packages without architectures listed are reverse-dependencies in: all, amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x

--
bye,
pabs

https://wiki.debian.org/PaulWise
signature.asc
0 new messages