- Tools/Demos - gh-128152: Fix a bug where Argument Clinic’s C pre-processor parser tried to parse pre-processor directives inside C comments. Patch by Erlend Aasland. - Tests - gh-128690: Temporarily do not use test_embed in PGO profile builds until the problem with test_init_pyvenv_cfg failing in some configurations is resolved. - Library - gh-128731: Fix ResourceWarning in urllib.robotparser.RobotFileParser.read(). - gh-71339: Add new assertion methods for unittest: assertHasAttr(), assertNotHasAttr(), assertIsSubclass(), assertNotIsSubclass() assertStartsWith(), assertNotStartsWith(), assertEndsWith() and assertNotEndsWith(). - gh-118761: Improve import time of pickle by 25% by removing an unnecessary regular expression. As such, re is no more implicitly available as pickle.re. Patch by Bénédikt Tran. - gh-128661: Fixes typing.evaluate_forward_ref() not showing deprecation when type_params arg is not passed. - gh-128562: Fix possible conflicts in generated tkinter widget names if the widget class name ends with a digit. - gh-128559: Improved import time of asyncio. - gh-128552: Fix cyclic garbage introduced by asyncio.loop.create_task() and asyncio.TaskGroup.create_task() holding a reference to the created task if it is eager. - gh-128340: Add internal thread safe handle to be used OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=32
24 lines
706 B
Python
24 lines
706 B
Python
import sys, os
|
|
from sysconfig import get_path
|
|
|
|
failed_map_path = os.path.join(get_path('stdlib'), '_import_failed', 'import_failed.map')
|
|
|
|
if __spec__:
|
|
failed_name = __spec__.name
|
|
else:
|
|
failed_name = __name__
|
|
|
|
with open(failed_map_path) as fd:
|
|
for line in fd:
|
|
package = line.split(':')[0]
|
|
imports = line.split(':')[1]
|
|
if failed_name in imports:
|
|
raise ImportError(f"""Module '{failed_name}' is not installed.
|
|
Use:
|
|
sudo zypper install {package}
|
|
to install it.""")
|
|
|
|
raise ImportError(f"""Module '{failed_name}' is not installed.
|
|
It is supposed to be part of python3 distribution, but missing from failed import map.
|
|
Please file a bug on the SUSE Bugzilla.""")
|