summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/whatsnew/3.13.rst34
1 files changed, 34 insertions, 0 deletions
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 67d1956..89694af 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -104,6 +104,40 @@ Improved Error Messages
variables. See also :ref:`using-on-controlling-color`.
(Contributed by Pablo Galindo Salgado in :gh:`112730`.)
+* A common mistake is to write a script with the same name as a
+ standard library module. When this results in errors, we now
+ display a more helpful error message:
+
+ .. code-block:: shell-session
+
+ $ python random.py
+ Traceback (most recent call last):
+ File "/home/random.py", line 1, in <module>
+ import random; print(random.randint(5))
+ ^^^^^^^^^^^^^
+ File "/home/random.py", line 1, in <module>
+ import random; print(random.randint(5))
+ ^^^^^^^^^^^^^^
+ AttributeError: module 'random' has no attribute 'randint' (consider renaming '/home/random.py' since it has the same name as the standard library module named 'random' and the import system gives it precedence)
+
+ Similarly, if a script has the same name as a third-party
+ module it attempts to import, and this results in errors,
+ we also display a more helpful error message:
+
+ .. code-block:: shell-session
+
+ $ python numpy.py
+ Traceback (most recent call last):
+ File "/home/numpy.py", line 1, in <module>
+ import numpy as np; np.array([1,2,3])
+ ^^^^^^^^^^^^^^^^^^
+ File "/home/numpy.py", line 1, in <module>
+ import numpy as np; np.array([1,2,3])
+ ^^^^^^^^
+ AttributeError: module 'numpy' has no attribute 'array' (consider renaming '/home/numpy.py' if it has the same name as a third-party module you intended to import)
+
+ (Contributed by Shantanu Jain in :gh:`95754`.)
+
* When an incorrect keyword argument is passed to a function, the error message
now potentially suggests the correct keyword argument.
(Contributed by Pablo Galindo Salgado and Shantanu Jain in :gh:`107944`.)