Skip to content

Commit c3bb634

Browse files
bluetechpytestbot
authored andcommitted
[7.0.x] importlib.readers not valid until python 3.10
1 parent 5eb4d69 commit c3bb634

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

changelog/9608.bugfix.rst

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix invalid importing of ``importlib.readers`` in Python 3.9.

src/_pytest/assertion/rewrite.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -276,13 +276,15 @@ def get_data(self, pathname: Union[str, bytes]) -> bytes:
276276
with open(pathname, "rb") as f:
277277
return f.read()
278278

279-
if sys.version_info >= (3, 9):
279+
if sys.version_info >= (3, 10):
280280

281281
def get_resource_reader(self, name: str) -> importlib.abc.TraversableResources: # type: ignore
282-
from types import SimpleNamespace
283-
from importlib.readers import FileReader
282+
if sys.version_info < (3, 11):
283+
from importlib.readers import FileReader
284+
else:
285+
from importlib.resources.readers import FileReader
284286

285-
return FileReader(SimpleNamespace(path=self._rewritten_names[name]))
287+
return FileReader(types.SimpleNamespace(path=self._rewritten_names[name]))
286288

287289

288290
def _write_pyc_fp(

0 commit comments

Comments
 (0)