diff --git a/cibuildwheel/projectfiles.py b/cibuildwheel/projectfiles.py index c4f63c176..fece392f8 100644 --- a/cibuildwheel/projectfiles.py +++ b/cibuildwheel/projectfiles.py @@ -70,7 +70,7 @@ def get_requires_python_str(package_dir: Path) -> Optional[str]: pass try: - with (package_dir / "setup.py").open() as f2: + with (package_dir / "setup.py").open(encoding="utf8") as f2: return setup_py_python_requires(f2.read()) except FileNotFoundError: pass diff --git a/unit_test/projectfiles_test.py b/unit_test/projectfiles_test.py index c62df6a9c..6c55d46a1 100644 --- a/unit_test/projectfiles_test.py +++ b/unit_test/projectfiles_test.py @@ -25,7 +25,7 @@ def test_read_setup_py_simple(tmp_path): def test_read_setup_py_full(tmp_path): - with open(tmp_path / "setup.py", "w") as f: + with open(tmp_path / "setup.py", "w", encoding="utf8") as f: f.write( dedent( """ @@ -35,6 +35,7 @@ def test_read_setup_py_full(tmp_path): setuptools.setup( name = "hello", + description = "≥“”ü", other = 23, example = ["item", "other"], python_requires = "1.24", @@ -43,7 +44,9 @@ def test_read_setup_py_full(tmp_path): ) ) - assert setup_py_python_requires(tmp_path.joinpath("setup.py").read_text()) == "1.24" + assert ( + setup_py_python_requires(tmp_path.joinpath("setup.py").read_text(encoding="utf8")) == "1.24" + ) assert get_requires_python_str(tmp_path) == "1.24"