Commit de0eae1
authored
Only use importlib.resources's new files() / Traversable API on Python ≥3.11 (#204)
Using importlib.resource's files() API on 3.9 and 3.10 causes a
TypeError on 3.9 and a ValueError on 3.10 when running under a
third-party meta path importer (like PyOxidizer's OxidizedImporter) that
doesn't support the relatively-new API. This is because the full
adapter layer (importlib.resources._adapters) for the older importlib
resources API doesn't exist until Python 3.11.
The older resources API is now used by 3.7–3.10, as it was prior to the
certifi 2022.06.15.1 release. This codepath has existed in certifi
since April 2020 (3fc8fec).
An alternative to this change would be testing the actual importer in
use at runtime (e.g. certifi.__loader__) for files() support, but that
seemed more complex than reverting to the previous codepath here.
Resolves: #203
Related-to: #199
Related-to: #1231 parent b8eb5e9 commit de0eae1
1 file changed
+1
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
0 commit comments