Riot seems to have problems with Python 3.11's importlib in terms of managing virtual environments. Specifically in dd-trace-py using riot, Hypothesis' vendored text file is not being found even though there is no problem running ddtrace.tests.tracer.test.http.py tests locally with Python 3.11.
Steps to Reproduce
Package Structure
To reproduce, here is my file structure:
repro_script.py
repro_package
├── setup.py
└─── src
├─ __init__.py
├─ test.py
└─ vendor
├─ __init__.py
└─ domains.txt
repro_script.py:
from repro_package import test
repro_package/setup.py:
import os
import setuptools
def local_file(name):
return os.path.relpath(os.path.join(os.path.dirname(__file__), name))
SOURCE = local_file("src")
setuptools.setup(
name="repro_package",
packages=setuptools.find_packages(SOURCE),
package_dir={"": SOURCE},
package_data={"repro_package": ["vendor/domains.txt"]}
)
repro_package/src/test.py:
from importlib.resources import files
domains_file = files("repro_package.vendor") / "domains.txt"
domains = domains_file.read_text().splitlines()
repro_packages/src/vendor/domains.txt:
Reproduction Command
python --version
# Python 3.11.0rc2+
python -m venv .venv
source .venv/bin/activate
pip install -e repro_package
python repro_script.py
Riot seems to have problems with Python 3.11's importlib in terms of managing virtual environments. Specifically in dd-trace-py using riot, Hypothesis' vendored text file is not being found even though there is no problem running
ddtrace.tests.tracer.test.http.pytests locally with Python 3.11.Steps to Reproduce
Package Structure
To reproduce, here is my file structure:
repro_script.py:
repro_package/setup.py:
repro_package/src/test.py:
repro_packages/src/vendor/domains.txt:
Reproduction Command