Skip to content

setting “python_requires” with ">=3.7" is a better way to declare Python compatibility #223

@PyVCEchecker

Description

@PyVCEchecker

Hello!

I noticed that "amcrest" use a Python3-specific syntax rule "f_string", which lead to installation failure of Inject in Python 2. And there is such a declaration.

  classifiers=[
      ...
        "Programming Language :: Python :: 3.7",
        "Programming Language :: Python :: 3.8",
        "Programming Language :: Python :: 3.9",
        "Programming Language :: Python :: 3.10",
        ...
    ]

I guess you want to set python>=3.7. And I think it is a better way to declare Python compatibility by using the keyword argument python_requires

  • 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:

setup(…
     python_requires=">=3.7",
     …)

Thanks for your attention.
Best regrads,
PyVCEchecker

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions