← All tasks
pythonjpype-project/jpype #1030Not a task: not reproduced

“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

Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]