python - IPython import local file -


i've come across weird disparity between ipython , default python interpreter. have python file shadows built-in module's name: logging.py. has simple method foo().

if start default python interpreter , call import logging imports local file , can access logging.foo().

if start ipython , call import logging imports python built-in module. if change name non-shadow (e.g. import my_logging) import work expected.

which expected behaviour? current directory @ start of sys.path both interpreters differ in imports have priority.

import sys print(sys.modules) 

ipython starts of standard library imported, including logging. modules seem imported full path.

speculation: ipython imported libraries full path internal use, when import logging again checks module imported, regardless of path, , nothing.


Comments

Popular posts from this blog

javascript - RequestAnimationFrame not working when exiting fullscreen switching space on Safari -

Python ctypes access violation with const pointer arguments -