#1110068 python3 inhibits upgrade to trixie

Package:
python3
Source:
python3
Description:
interactive high-level object-oriented language (default python3 version)
Submitter:
Hans
Date:
2025-07-30 16:11:01 UTC
Severity:
normal
#1110068#5
Date:
2025-07-29 06:18:13 UTC
From:
To:
Dear Maintainer,

I tried to upgrade two computers from bookworm to trixie. The upgrade failed and crashed, because the package python3 from testing could not be installed.

When the package is unpackaed, it shows a lot of messages like "unknown strings" and so on, and then it stops.

As many other packages depend on an instaled package "python3", these packages are also not installed and thus the whole upgrade breaks and fails.

It would be nice, if you could take a look at it, especially as the release of trixie is close at hand.

Please feel free to ask for more, I will be glad to help.

Thank you very much for your efforts.

Best regards

Hans

#1110068#10
Date:
2025-07-29 07:29:28 UTC
From:
To:
Please provide a full upgrade log to the bug report.

Chris

#1110068#15
Date:
2025-07-29 18:51:37 UTC
From:
To:
Dear Maintainer,

first of all thanks for releasing python3.13.5-2, which is working great. However, the problem still exists, b
ecause the version 3.13.5-2 still depends 3.13.5-1. This version (3.13.5-1) is causing the problem and can not
be installed. I could not find it in the repo, maybe it is a relict from the past, but I can not deinstall th
e 3.13.5-1 version without completely crashing my system.

Please take a look what happens or what are the incompabilities.

Thank you very much for your help.

Best regards

Hans

#1110068#20
Date:
2025-07-29 22:55:07 UTC
From:
To:
This doesn't make sense.  (Note that python3 and python3.13 come from
different source packages and may have slightly different version
numbers; python3 is at version 3.13.5-1 while python3.13 is at version
3.13.5-2.  None of this is a problem in itself.)

Please copy and paste _exactly_ what you see in your failed upgrade
attempt into a reply to this bug report.  I don't think anyone is going
to be able to help you otherwise.

#1110068#25
Date:
2025-07-30 16:02:41 UTC
From:
To:
Dear Colin,

you may be right, and I might not clearly recognize, what is going on.

So I send the output of the process below. What I just did see, that 3.13.5-1
is causing the trouble. But please take a look yourself (sorry, it is a little
bit longer):

Some comments are in German as I am German, but this should not make the
output misunderstandable.
--- snip --- python3 (3.13.5-1) wird eingerichtet ... running python rtupdate hooks for python3.13... Traceback (most recent call last): File "/usr/bin/py3clean", line 209, in <module> main() ~~~~^^ File "/usr/bin/py3clean", line 195, in main pfiles = set(dpf.from_package(options.package)) File "/usr/share/python3/debpython/files.py", line 55, in from_package raise Exception("cannot get content of %s" % package_name) Exception: cannot get content of apt-listchanges error running python rtupdate hook apt-listchanges /usr/share/cupp/cupp.py:146: SyntaxWarning: invalid escape sequence '\ ' print(" \ # User") /usr/share/cupp/cupp.py:147: SyntaxWarning: invalid escape sequence '\ ' print(" \ \033[1;31m,__,\033[1;m # Passwords") /usr/share/cupp/cupp.py:148: SyntaxWarning: invalid escape sequence '\ ' print(" \ \033[1;31m(\033[1;moo\033[1;31m)____\033[1;m # Profiler") /usr/share/cupp/cupp.py:149: SyntaxWarning: invalid escape sequence '\ ' print(" \033[1;31m(__) )\ \033[1;m ") Traceback (most recent call last): File "/usr/bin/py3clean", line 209, in <module> main() ~~~~^^ File "/usr/bin/py3clean", line 195, in main pfiles = set(dpf.from_package(options.package)) File "/usr/share/python3/debpython/files.py", line 55, in from_package raise Exception("cannot get content of %s" % package_name) Exception: cannot get content of ibus error running python rtupdate hook ibus /usr/share/kali-undercover/scripts/desktopconfig.py:274: SyntaxWarning: invalid escape sequence '\s' if re.match('^' + fallback_monitor + '[^/\s]+$', pp): /usr/share/kali-undercover/scripts/desktopconfig.py:279: SyntaxWarning: invalid escape sequence '\d' w = re.search('^/backdrop/screen\d/monitor[^/]+/workspace\d/', pp) /usr/share/playonlinux/python/configurewindow/ConfigureWindowNotebook.py:464: SyntaxWarning: invalid escape sequence '\|' \|Windows executable (*.exe)|*.exe;*.EXE\ /usr/share/playonlinux/python/mainwindow.py:711: SyntaxWarning: invalid escape sequence '\|' \|XPM (*.xpm)|*.xpm;*.XPM\ /usr/share/scribus/scripts/importcsv2table.py:36: SyntaxWarning: invalid escape sequence '\o' with '\o myfile.csv', then query your database. /usr/share/streamtuner2/action.py:175: SyntaxWarning: invalid escape sequence '\s' cmd = re.sub('(["\']?\s*)$', " " + append + "\\1", cmd) /usr/share/streamtuner2/action.py:206: SyntaxWarning: invalid escape sequence '\w' if re.match("^\w[\w.:/\-]+$", ins): /usr/share/streamtuner2/action.py:252: SyntaxWarning: invalid escape sequence '\$' rx_keys = "[\$\%](" + "|".join(row.keys()) + ")\\b" /usr/share/streamtuner2/action.py:425: SyntaxWarning: invalid escape sequence '\.' e = re.findall("\.(pls|m3u|xspf|jspf|asx|wpl|wsf|smil|html|url|json|desktop) \d?$", url) /usr/share/streamtuner2/action.py:595: SyntaxWarning: invalid escape sequence '\s' for field,num,value in re.findall("^\s* ([a-z_-]+) (\d+) \s*=\s* (.*) $", self.src, re.M|re.I|re.X): /usr/share/streamtuner2/action.py:623: SyntaxWarning: invalid escape sequence '\.' "title": row.get("title") or title or re.sub("\.\w+$", "", os.path.basename(self.fn)), /usr/share/streamtuner2/channels/__init__.py:152: SyntaxWarning: invalid escape sequence '\.' rx_www_url = re.compile("""(www(\.\w+[\w-]+){2,}|(\w+[\w-]+[ ]?\.)+(com|FM| net|org|de|PL|fr|uk))""", re.I) /usr/share/streamtuner2/channels/__init__.py:751: SyntaxWarning: invalid escape sequence '\w' return re.sub('&(#?(x?))(\w+);', _entity, str) /usr/share/streamtuner2/channels/__init__.py:799: SyntaxWarning: invalid escape sequence '\d' i = re.findall("\d+", s) or [0] /usr/share/streamtuner2/channels/__init__.py:803: SyntaxWarning: invalid escape sequence '\s' rx_spc = re.compile("\s+") /usr/share/streamtuner2/channels/configwin.py:156: SyntaxWarning: invalid escape sequence '\w' if re.search("<(\w+)[^>]*>.+</\\1>", desc): /usr/share/streamtuner2/channels/configwin.py:197: SyntaxWarning: invalid escape sequence '\S' doc = re.sub("(?<=\S) *\n(?! *\n)", " ", doc) /usr/share/streamtuner2/channels/dnd.py:218: SyntaxWarning: invalid escape sequence '\w' title = re.sub("[^\w-]+", "_", r["title"]).strip() /usr/share/streamtuner2/channels/dnd.py:301: SyntaxWarning: invalid escape sequence '\w' fn = compat2and3.urldecode(re.sub("^\w+://[^/]*", "", fn)) /usr/share/streamtuner2/channels/exportcat.py:57: SyntaxWarning: invalid escape sequence '\.' dest = re.findall("\.(m3u|pls|xspf|jspf|json|smil|asx|desktop|url)8?$", fn.lower()) /usr/share/streamtuner2/channels/favicon.py:269: SyntaxWarning: invalid escape sequence '\w' rx_strip_proto = re.compile("^\w+://|/$|\.(png|gif|ico|jpe?g)$") /usr/share/streamtuner2/channels/favicon.py:270: SyntaxWarning: invalid escape sequence '\w' rx_just_domain = re.compile("^\w+://|[/#?].*$") /usr/share/streamtuner2/channels/favicon.py:271: SyntaxWarning: invalid escape sequence '\w' rx_non_wordchr = re.compile("[^\w._-]") /usr/share/streamtuner2/channels/favicon.py:292: SyntaxWarning: invalid escape sequence '\w' if not re.match("^https?://[\w.-]{10}", url): /usr/share/streamtuner2/channels/favicon.py:345: SyntaxWarning: invalid escape sequence '\w' domain = re.sub("^\w+://|/.*$", "", url).lower() /usr/share/streamtuner2/channels/favicon.py:400: SyntaxWarning: invalid escape sequence '\g' return re.sub("(https?://[^/]+).*$", "\g<1>", url) + href /usr/share/streamtuner2/channels/filtermusic.py:55: SyntaxWarning: invalid escape sequence '\W' ucat = re.sub("\W+", "-", cat.lower().replace("'", "")) /usr/share/streamtuner2/channels/filtermusic.py:59: SyntaxWarning: invalid escape sequence '\w' <article [^>]+ about="/([\w\-]+)" .*? /usr/share/streamtuner2/channels/internet_radio.py:53: SyntaxWarning: invalid escape sequence '\w' rx = re.compile("""="/stations/[-+&.\w\s%]+/">([^<]+)<""") /usr/share/streamtuner2/channels/internet_radio.py:67: SyntaxWarning: invalid escape sequence '\w' rx_pages = re.compile('href="/stations/[-+\w%\d\s]+/page(\d+)">\d+</a>') /usr/share/streamtuner2/channels/internet_radio.py:151: SyntaxWarning: invalid escape sequence '\d' rx_numbers = re.compile("(\d+)") /usr/share/streamtuner2/channels/internet_radio.py:169: SyntaxWarning: invalid escape sequence '\>' url = re.search("(http://[^\'\"\>]+)", url) /usr/share/streamtuner2/channels/links.py:106: SyntaxWarning: invalid escape sequence '\w' pairs = re.findall("(?:(\w+)\s*\|\s*)?\[([\w\s(&,;!:#+\-)]+)\]\((http[^)\s]+) \)", wiki) /usr/share/streamtuner2/channels/liveradio.py:87: SyntaxWarning: invalid escape sequence '\d' if re.search('/\d+">Next</a>', add): /usr/share/streamtuner2/channels/liveradio.py:91: SyntaxWarning: invalid escape sequence '\s' html = re.sub("</body>[\s\S]+<body[^>]*>", "", html) /usr/share/streamtuner2/channels/liveradio.py:113: SyntaxWarning: invalid escape sequence '\w' href="(?:https?://www.liveradio.\w+)?/stations/([\w-]+) .*? /usr/share/streamtuner2/channels/liveradio.py:150: SyntaxWarning: invalid escape sequence '\w' id = re.search("/([\w-]+)$", href).group(1) /usr/share/streamtuner2/channels/liveradio.py:172: SyntaxWarning: invalid escape sequence '\(' ls = re.findall("jPlayer\('setMedia',\s*\{\s*'?\w+'?:\s*'([^']+)'", html, re.M) /usr/share/streamtuner2/channels/modarchive.py:97: SyntaxWarning: invalid escape sequence '\.' href="(https?://api\.modarchive\.org/downloads\.php[?]moduleid=(\d+)[#][^"] +)" /usr/share/streamtuner2/channels/peertube.py:192: SyntaxWarning: invalid escape sequence '\s' playing = re.sub("\s+", " ", v["description"]) if v.get("description") else "", /usr/share/streamtuner2/channels/pluginmanager2.py:125: SyntaxWarning: invalid escape sequence '\s' for url in re.split("[\s,]+", conf.plugin_repos.strip()): /usr/share/streamtuner2/channels/reddit.py:229: SyntaxWarning: invalid escape sequence '\w' for title, link in re.findall('^<h2[^>]+>(\w[^<]+)</h2>|^<li><a href="/r/ (\w+)" rel', html, re.M): /usr/share/streamtuner2/channels/reddit.py:274: SyntaxWarning: invalid escape sequence '\]' text_urls = re.findall("\]\((https?://(?:www\.)?(youtu|peertu)[^\"\'\]\)]+)", row.get("selftext", "")) /usr/share/streamtuner2/channels/reddit.py:275: SyntaxWarning: invalid escape sequence '\.' url_ext = (re.findall("\.(\w+)(?:$|[?&])", row["url"]) or [""])[0].lower() /usr/share/streamtuner2/channels/reddit.py:280: SyntaxWarning: invalid escape sequence '\.' if re.search("youtu\.?be|vimeo|dailymotion|peertube", row["url"]): /usr/share/streamtuner2/channels/reddit.py:300: SyntaxWarning: invalid escape sequence '\w' urltype = re.findall("([\w-]+)\.\w+/", row["url"] + "/x-unknown.com/")[0] /usr/share/streamtuner2/channels/reddit.py:324: SyntaxWarning: invalid escape sequence '\[' genre = re.findall("\[(.+?)\]", row["title"] + "[-]")[0], /usr/share/streamtuner2/channels/somafm.py:111: SyntaxWarning: invalid escape sequence '\d' rows[i]["url"] = re.sub("\d*\.pls$", "%s.pls" % biturl, row["url"]) /usr/share/streamtuner2/channels/somafm.py:127: SyntaxWarning: invalid escape sequence '\d' dict(genre=g, title=t, playing=p, url="http://somafm.com"+u, listeners=int(l), bitrate=128, homepage="http:// somafm.com"+re.sub("\d*\.pls$", "/", u)) /usr/share/streamtuner2/channels/specbuttons.py:123: SyntaxWarning: invalid escape sequence '\.' if re.match("^gtk\.\w+", btn, re.I): /usr/share/streamtuner2/channels/specbuttons.py:126: SyntaxWarning: invalid escape sequence '\.' elif not re.match("^(/|\./|gtk-|\w:[\\\\/])", btn): /usr/share/streamtuner2/channels/specbuttons.py:139: SyntaxWarning: invalid escape sequence '\w' internal = re.match("^(\w+)\.(\w+)\((.*)\)$", cmd) /usr/share/streamtuner2/channels/streema.py:49: SyntaxWarning: invalid escape sequence '\w' main_cats = re.findall('<a href="/radios/main-genre/(\w+)">', html) /usr/share/streamtuner2/channels/streema.py:53: SyntaxWarning: invalid escape sequence '\w' sub = re.findall('<a href="/radios/genre/(\w+)">', html) /usr/share/streamtuner2/channels/streema.py:74: SyntaxWarning: invalid escape sequence '\w' url = re.findall('data-url="/radios/play/([\w_.-]+)"', html) # skips external-stream-tab http:// entries /usr/share/streamtuner2/channels/streema.py:77: SyntaxWarning: invalid escape sequence '\s' img = re.findall('<img\s*src="(.+?)"', html) /usr/share/streamtuner2/channels/streema.py:80: SyntaxWarning: invalid escape sequence '\d' listeners = re.findall('<p>(\d+) Listen\w*s</p>', html) /usr/share/streamtuner2/channels/streema.py:112: SyntaxWarning: invalid escape sequence '\s' 'stream:\s+\{.+?\s+url:\s+"(.+?)"' /usr/share/streamtuner2/channels/surfmusik.py:136: SyntaxWarning: invalid escape sequence '\d' html = re.sub("&#x?\d+;", "", html) /usr/share/streamtuner2/channels/timer.py:101: SyntaxWarning: invalid escape sequence '\w' if not re.match("^(\w{2,3}|[*,;+])+\s+(\d+:\d+)\s*((\.\.+|-+)\s*(\d+:\d+))? \s+(record|play)", timespec): /usr/share/streamtuner2/channels/timer.py:160: SyntaxWarning: invalid escape sequence '\*' if re.search("any|all|\*", s, re.I): /usr/share/streamtuner2/channels/timer.py:162: SyntaxWarning: invalid escape sequence '\w' for day in re.findall("\w\w+", s.lower()): /usr/share/streamtuner2/channels/timer.py:170: SyntaxWarning: invalid escape sequence '\d' r = re.search("(\d+):(\d+)", s) /usr/share/streamtuner2/channels/timer.py:177: SyntaxWarning: invalid escape sequence '\d' r = re.search("(\d+:\d+)\s*(\.\.+|-+)\s*(\d+:\d+)", s) /usr/share/streamtuner2/channels/xiph.py:203: SyntaxWarning: invalid escape sequence '\w' m = re.search('href="[?]cursor=(\w+)">Next</a>', html) /usr/share/streamtuner2/channels/xiph.py:215: SyntaxWarning: invalid escape sequence '\s' rows = re.findall("""<div\s+class="card\s.*?">(.+?)</div>(? =\s+<div\s+class="card\s)""", html, re.S) /usr/share/streamtuner2/channels/xiph.py:220: SyntaxWarning: invalid escape sequence '\s' title = """ <h5\s+class="card-title"> ([^>]*) </h5> """, /usr/share/streamtuner2/channels/xiph.py:221: SyntaxWarning: invalid escape sequence '\d' listeners = """ (\d+) \s+ Listeners \s+ — """, /usr/share/streamtuner2/channels/xiph.py:222: SyntaxWarning: invalid escape sequence '\s' playing = """ class="card-subtitle[^>]*"> On\s+Air:\s+ ([^<]*) </h6> """, /usr/share/streamtuner2/channels/xiph.py:224: SyntaxWarning: invalid escape sequence '\s' tags = """ ((?:<a\s+href="/genres/[^>]+> [^<]+ </a>\s+)+) — """, /usr/share/streamtuner2/channels/xiph.py:225: SyntaxWarning: invalid escape sequence '\s' url = """ <a\s+href="([^">]+)"\s+class="btn[^>]+">Play</a> """, /usr/share/streamtuner2/channels/xiph.py:227: SyntaxWarning: invalid escape sequence '\s' fmt = """ <a\s+href="/codecs/(\w+) """, /usr/share/streamtuner2/channels/xiph.py:551: SyntaxWarning: invalid escape sequence '\d' uu = re.findall("(\d+)", str) /usr/share/streamtuner2/config.py:206: SyntaxWarning: invalid escape sequence '\s' return re.sub("^(.+?)((\s%\w+)?)$", '"\\g<1>"\\g<2>', fn[0], 1) + append /usr/share/streamtuner2/lsplug.py:29: SyntaxWarning: invalid escape sequence '\s' if re.search("^\s*has_search = True", src, re.M): /usr/share/streamtuner2/st2.py:351: SyntaxWarning: invalid escape sequence '\.' dest = (re.findall("\.(m3u|pls|xspf|jspf|json|smil|asx|wpl|qtl)8?$", fn) or ["pls"])[0] /usr/share/streamtuner2/uikit.py:646: SyntaxWarning: invalid escape sequence '\w' if re.match("^[\w+/=\s]+$", str(buf)): dpkg: Fehler beim Bearbeiten des Paketes python3 (--configure): »installiertes post-installation-Skript des Paketes python3«-Unterprozess gab den Fehlerwert 4 zurück dpkg: Abhängigkeitsprobleme verhindern Konfiguration von backintime-qt: backintime-qt hängt ab von python3:any; aber: Paket python3 ist noch nicht konfiguriert. dpkg: Fehler beim Bearbeiten des Paketes backintime-qt (--configure): Abhängigkeitsprobleme - verbleibt unkonfiguriert dpkg: Abhängigkeitsprobleme verhindern Konfiguration von python3-inflate64: python3-inflate64 hängt ab von python3 (<< 3.14); aber: Paket python3 ist noch nicht konfiguriert. python3-inflate64 hängt ab von python3 (>= 3.13~); aber: Paket python3 ist noch nicht konfiguriert. python3-inflate64 hängt ab von python3:any; aber: Paket python3 ist noch nicht konfiguriert.
--- snap --- If I did anything wrong, what should I do? Set python3 on hold? Best regards Hans