“python_requires” should be set with “>=3.5”, as Jpype1 1.3.0 is not compatible with all Python versions.
envgap__jpype-project__jpype-1030
01 / FAILURE SIGNATURE
As reported upstream
No identifying execution failure has been captured.
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
cfd5f84f14ddc6d551460b5ce96b22e4ff754d5c- Manifest
setup.py- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
jpype-project/jpype #1030 · read the original issue
Currently, the keyword argument **python_requires** of **setup()** is not set, and thus it is assumed that this distribution is compatible with all Python versions.
However, I found the following code checking Python compatibility locally in **setup.py**
```python
if sys.version_info[0] < 3 and sys.version_info[1] < 5:
raise RuntimeError("JPype requires Python 3.5 or later")
```
I think it is a better way to declare Python compatibility by using the keyword argument **python_requires** than checking compatibility locally for some reasons:
* Descriptions in **python_requires** will be reflected in the metadata
* “pip install” can check such metadata on the fly during distribution selection, and prevent from downloading and installing the incompatible package versions.
* If the user does not specify any version constraint, pip can automatically choose the latest compatible package version for users.
Way to improve:
modify **setup()** in **setup.py,** add **python_requires** keyword argument:
```python
setup(…
python_requires=">=3.5",
…)
```
Thanks for your attention.
Best regrads,
PyVCEchecker
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]