New submission from Sriram Krishna <ksr...@gmail.com>:

Suppose I have a file profile.py in the same directory as the file I am running 
(say test.py)

Let the contents of the files be:

profile.py:
raise Exception

test.py:
import cProfile

now if I run test.py

$ python test.py
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import cProfile
  File "/usr/lib/python3.7/cProfile.py", line 10, in <module>
    import profile as _pyprofile
  File "/home/username/profile.py", line 1, in <module>
    raise Exception
Exception

The file profile.py in '/usr/lib/python3.7' should have been loaded. This would 
also happen if test.py imported a module or package which imported cProfile.

The only possible way of avoiding this problem completely is by ensuring that 
the name of any the python files don't match a builtin python file or the name 
of any installed package.

A python user can't be expected to know the name of every possible file in the 
Python standard library. Maybe the current working directory should be removed 
from sys.path when importing from within another module not in the same 
directory.

----------
components: Interpreter Core
messages: 330874
nosy: ksriram
priority: normal
severity: normal
status: open
title: name shadowing while a module tries to import another
type: behavior
versions: Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue35375>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to