Skip to content

Conversation

gotmax23
Copy link

See the individual commit messages for more information about each change. This PR was created during the process of bootstrapping Python 3.14 for Fedora Linux.

``` fish for i in python3.{9,10,11,12,13,14} echo -n "$i " $i -c 'import pathlib; print(repr(pathlib.PurePosixPath))' end ``` ``` python3.9 <class 'pathlib.PurePosixPath'> python3.10 <class 'pathlib.PurePosixPath'> python3.11 <class 'pathlib.PurePosixPath'> python3.12 <class 'pathlib.PurePosixPath'> python3.13 <class 'pathlib._local.PurePosixPath'> python3.14 <class 'pathlib.PurePosixPath'> ```
As of python/cpython#121395, the format of the list.index exception has changed and parsing it like this no longer works. Relying on implementation details like this is always risky, so this solution should be more future-proof.
@MeggyCal
Copy link

MeggyCal commented Sep 15, 2025

Hi, your patch didn't fix my Python 3.14 build, it was also necessary to add one more fix:

Index: domdf_python_tools-3.10.0/tests/test_paths.py =================================================================== --- domdf_python_tools-3.10.0.orig/tests/test_paths.py +++ domdf_python_tools-3.10.0/tests/test_paths.py @@ -925,7 +925,7 @@ else: @pytest.mark.parametrize("path", _from_uri_paths) -@pytest.mark.parametrize("left_type", [pathlib.PurePath, pathlib.Path, PathPlus]) +@pytest.mark.parametrize("left_type", [pathlib.Path, PathPlus]) def test_pathplus_from_uri(path: str, left_type: Type): assert PathPlus.from_uri(left_type(path).as_uri()).as_posix() == path 

This is not a review, I am just working on Python 3.14 integration in openSUSE and discovered this issue as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants