Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#33217 closed Cleanup/optimization (wontfix)

Add parentheses to @functools.lru_cache

Reported by: Kim Beom Jin Owned by: nobody
Component: Core (Other) Version: 4.0
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

Although python 3.6 and python 3.7 will be deleted, i think it would be better to show the error phrase accurately.
As shown in the figure below, when using @functools.lru_cache in python 3.7 or lower, an unclean error occurs.
So i think it would be better to write @functools.lru_cache() until 3.6 and 3.7 are completely deleted.

https://drive.google.com/file/d/1SVUY8lTi4VOMdl-LznO_H8Q6sCwDc1gU/view?usp=sharing
https://drive.google.com/file/d/1cvdSqJuMEJBwwD0kF-Y_CEwgbArUkPqr/view?usp=sharing
https://drive.google.com/file/d/1C1AwEfF2-KifDOeAb1cewF57iBj1XbYb/view?usp=sharing

Change History (2)

comment:1 by Mariusz Felisiak, 3 years ago

Component: UncategorizedCore (Other)
Resolution: wontfix
Status: newclosed

Python 3.6 and 3.7 are not supported by Django 4.0+, see 5bac1719a2fcbee5cb8b9e22c3480e3a24ed6c4c.

Version 0, edited 3 years ago by Mariusz Felisiak (next)

in reply to:  1 comment:2 by Kim Beom Jin, 3 years ago

Replying to Mariusz Felisiak:

Python 3.6 and 3.7 are not supported by Django 4.0+, see #32355 and 5bac1719a2fcbee5cb8b9e22c3480e3a24ed6c4c.

First of all, I'm really sorry for replying late because I didn't recognize that the alarm had come.

I also know that Django doesn't support Python 3.7 or less from 4.0, but users can't see proper error messages if Django doesn't put parentheses on @functions.lru_cache.
Please refer to the picture I posted together with the ticket.

If it is the way it was, when the user follows the Django tutorial with a version of 3.8 or less, 'TypeError: Expected max size to be integrated or None' raises in lru_cache. However, if Django add parentheses to lru_cache, users will see "ERROR: Package 'Django' requirement Python: 3.x.x not in '>=3.8'.
I think the latter is a better message for users.

Kind regards,
Beom Jin

Last edited 3 years ago by Kim Beom Jin (previous) (diff)
Note: See TracTickets for help on using tickets.
Back to Top