Skip to content

Commit 462a6f0

Browse files
authored
Merge pull request #9647 from pytest-dev/backport-9609-to-7.0.x
[7.0.x] importlib.readers not valid until python 3.10
2 parents 048a10b + c588a47 commit 462a6f0

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)