Bug 1900764
Summary: | python-typeguard fails to build with Python 3.10: NameError: name 'Employee' is not defined | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Tomáš Hrnčiar <thrnciar> |
Component: | python-typeguard | Assignee: | Davide Cavalca <davide> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | chris.brown, davide, mhroncok, thrnciar |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | python-typeguard-2.12.1-1.fc35 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-06-09 02:21:36 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1900767 | ||
Bug Blocks: | 1890881, 1927309, 1927313, 1968878 |
Description
Tomáš Hrnčiar
2020-11-23 16:49:08 UTC
Given that we are ~10 months from Python 3.10 and F35, this is low priority and tbh probably a little early to be raising bugs against packages for. I've raised an issue upstream but don't expect to see much attention against Alpha builds of software. Hello, thank you for reporting this in upstream. We are rebuilding all relevant Fedora packages with Python 3.10 in COPR[1] as preparation for F35 (the change is already accepted, see [2]). It's important to do it in advance so we are able to influence upstream development of Python. [1] https://copr.fedorainfracloud.org/coprs/g/python/python3.10/packages/ [2] https://fedoraproject.org/wiki/Changes/Python3.10 The following packages require python3-typeguard: python-TestSlide-0:2.6.4-1.fc34.src python-tenacity-0:6.3.1-1.fc34.src python3-TestSlide-0:2.6.4-1.fc34.noarch By deciding to deprioritize this, we cannot check if they work with Python 3.10. Once we update Python in Fedora, packages that don't build won't be installable. This stack is pretty small, so indeed, this is not a high prio. But please beware that we will update rawhide to Python 3.10 in May, which is in 5 months, not 10. The schedule is at https://fedoraproject.org/wiki/Changes/Python3.10#Important_dates_and_plan This bug appears to have been reported against 'rawhide' during the Fedora 34 development cycle. Changing version to 34. This is blocked waiting for typing package to be fixed. "Problem: package python3-typing-extensions-3.7.4.3-2.fc34.noarch requires python(abi) = 3.9, but none of the providers can be installed" I've built python3-typing-extensions in copr. This is now unblocked. Thanks for letting us know. Even with python3-typing-extensions being unblocked the error is still present. https://download.copr.fedorainfracloud.org/results/@python/python3.10/fedora-rawhide-x86_64/01966389-python-typeguard/builder-live.log.gz =================================== FAILURES =================================== ____________________ TestCheckArgumentTypes.test_namedtuple ____________________ tests/test_typeguard.py:413: in test_namedtuple foo(Employee('bob', 1)) tests/test_typeguard.py:411: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'Employee' is not defined _____________ TestCheckArgumentTypes.test_namedtuple_type_mismatch _____________ tests/test_typeguard.py:421: in test_namedtuple_type_mismatch pytest.raises(TypeError, foo, ('bob', 1)).\ tests/test_typeguard.py:419: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'Employee' is not defined ___________ TestCheckArgumentTypes.test_namedtuple_wrong_field_type ____________ tests/test_typeguard.py:431: in test_namedtuple_wrong_field_type pytest.raises(TypeError, foo, Employee(2, 1)).\ tests/test_typeguard.py:429: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'Employee' is not defined _____________ TestCheckArgumentTypes.test_typevar_constraints[int] _____________ tests/test_typeguard.py:468: in test_typevar_constraints foo(*values) tests/test_typeguard.py:466: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined _____________ TestCheckArgumentTypes.test_typevar_constraints[str] _____________ tests/test_typeguard.py:468: in test_typevar_constraints foo(*values) tests/test_typeguard.py:466: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined _______ TestCheckArgumentTypes.test_typevar_constraints_fail_typing_type _______ tests/test_typeguard.py:477: in test_typevar_constraints_fail_typing_type foo('aa', 'bb') tests/test_typeguard.py:474: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined _____________ TestCheckArgumentTypes.test_typevar_constraints_fail _____________ tests/test_typeguard.py:485: in test_typevar_constraints_fail exc = pytest.raises(TypeError, foo, 2.5, 'aa') tests/test_typeguard.py:483: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined __________________ TestCheckArgumentTypes.test_typevar_bound ___________________ tests/test_typeguard.py:495: in test_typevar_bound foo(Child(), Child()) tests/test_typeguard.py:493: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ________________ TestCheckArgumentTypes.test_typevar_bound_fail ________________ tests/test_typeguard.py:503: in test_typevar_bound_fail exc = pytest.raises(TypeError, foo, Parent(), Parent()) tests/test_typeguard.py:501: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ______________ TestCheckArgumentTypes.test_typevar_invariant_fail ______________ tests/test_typeguard.py:513: in test_typevar_invariant_fail exc = pytest.raises(TypeError, foo, 2, 3.6) tests/test_typeguard.py:511: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ________________ TestCheckArgumentTypes.test_typevar_covariant _________________ tests/test_typeguard.py:522: in test_typevar_covariant foo(Parent(), Child()) tests/test_typeguard.py:520: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ______________ TestCheckArgumentTypes.test_typevar_covariant_fail ______________ tests/test_typeguard.py:530: in test_typevar_covariant_fail exc = pytest.raises(TypeError, foo, Child(), Parent()) tests/test_typeguard.py:528: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ______________ TestCheckArgumentTypes.test_typevar_contravariant _______________ tests/test_typeguard.py:540: in test_typevar_contravariant foo(Child(), Parent()) tests/test_typeguard.py:538: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined ____________ TestCheckArgumentTypes.test_typevar_contravariant_fail ____________ tests/test_typeguard.py:548: in test_typevar_contravariant_fail exc = pytest.raises(TypeError, foo, Parent(), Child()) tests/test_typeguard.py:546: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'T' is not defined _____________________ TestCheckArgumentTypes.test_generic ______________________ tests/test_typeguard.py:652: in test_generic foo(FooGeneric[str]()) tests/test_typeguard.py:650: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'FooGeneric' is not defined _____________________ TestCheckArgumentTypes.test_newtype ______________________ tests/test_typeguard.py:666: in test_newtype assert foo(1) == 42 tests/test_typeguard.py:663: in foo assert check_argument_types() typeguard/__init__.py:739: in check_argument_types memo = _CallMemo(func, frame.f_locals) typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'myint' is not defined ________ TestTypeChecker.test_forward_ref_policy_resolution_fails[warn] ________ tests/test_typeguard.py:1434: in test_forward_ref_policy_resolution_fails unresolvable_annotation({}) tests/test_typeguard.py:1428: in unresolvable_annotation def unresolvable_annotation(x: 'OrderedDict'): # noqa typeguard/__init__.py:1074: in __call__ memo = self._call_memos[frame] = _CallMemo( typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'OrderedDict' is not defined _______ TestTypeChecker.test_forward_ref_policy_resolution_fails[guess] ________ tests/test_typeguard.py:1434: in test_forward_ref_policy_resolution_fails unresolvable_annotation({}) tests/test_typeguard.py:1428: in unresolvable_annotation def unresolvable_annotation(x: 'OrderedDict'): # noqa typeguard/__init__.py:1074: in __call__ memo = self._call_memos[frame] = _CallMemo( typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'OrderedDict' is not defined ________________ TestTypeChecker.test_forward_ref_policy_guess _________________ tests/test_typeguard.py:1449: in test_forward_ref_policy_guess unresolvable_annotation(collections.OrderedDict()) tests/test_typeguard.py:1444: in unresolvable_annotation def unresolvable_annotation(x: 'OrderedDict'): # noqa typeguard/__init__.py:1074: in __call__ memo = self._call_memos[frame] = _CallMemo( typeguard/__init__.py:122: in __init__ hints = get_type_hints(func, localns=frame_locals) /usr/lib64/python3.10/typing.py:1627: in get_type_hints value = _eval_type(value, globalns, localns) /usr/lib64/python3.10/typing.py:305: in _eval_type return t._evaluate(globalns, localns, recursive_guard) /usr/lib64/python3.10/typing.py:607: in _evaluate eval(self.__forward_code__, globalns, localns), <string>:1: in <module> ??? E NameError: name 'OrderedDict' is not defined =============================== warnings summary =============================== tests/test_typeguard.py::TestTypeChecker::test_forward_ref_policy_resolution_fails[warn] tests/test_typeguard.py::TestTypeChecker::test_forward_ref_policy_resolution_fails[guess] tests/test_typeguard.py::TestTypeChecker::test_forward_ref_policy_guess /builddir/build/BUILD/typeguard-2.10.0/typeguard/__init__.py:1041: UserWarning: the system profiling hook has changed unexpectedly warn('the system profiling hook has changed unexpectedly') (In reply to Tomáš Hrnčiar from comment #7) > Even with python3-typing-extensions being unblocked the error is still > present. ok, thanks, have re-opened issue upstream. Upstream has replicated the error on 3.10 and is investigating. This is a mass-posted update. Sorry if it is not 100% accurate to this bugzilla. The Python 3.10 rebuild is in progress in a Koji side tag. If you manage to fix the problem, please commit the fix in the rawhide branch, but don't build the package in regular rawhide. You can either build the package in the side tag, with: $ fedpkg build --target=f35-python Or you can the build and we will eventually build it for you. Note that the rebuild is still in progress, so not all (build) dependencies of this package might be available right away. Thanks. See also https://fedoraproject.org/wiki/Changes/Python3.10 If you have general questions about the rebuild, please use this mailing list thread: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/G47SGOYIQLRDTWGOSLSWERZSSHXDEDH5/ The f35-python side tag has been merged to Rawhide. From now on, build as you would normally build. *** Bug 1969165 has been marked as a duplicate of this bug. *** |