Issue #20884: Don't assume in importlib.__init__ that __file__ is

defined.
This commit is contained in:
Brett Cannon 2014-03-21 10:58:33 -04:00
parent 373f0a925b
commit a00c2407ca
2 changed files with 8 additions and 1 deletions

View File

@ -22,7 +22,12 @@ else:
# a second copy of the module.
_bootstrap.__name__ = 'importlib._bootstrap'
_bootstrap.__package__ = 'importlib'
_bootstrap.__file__ = __file__.replace('__init__.py', '_bootstrap.py')
try:
_bootstrap.__file__ = __file__.replace('__init__.py', '_bootstrap.py')
except NameError:
# __file__ is not guaranteed to be defined, e.g. if this code gets
# frozen by a tool like cx_Freeze.
pass
sys.modules['importlib._bootstrap'] = _bootstrap
# To simplify imports in test code

View File

@ -21,6 +21,8 @@ Core and Builtins
Library
-------
- Issue #20884: Don't assume that __file__ is defined on importlib.__init__.
- Issue #20879: Delay the initialization of encoding and decoding tables for
base32, ascii85 and base85 codecs in the base64 module, and delay the
initialization of the unquote_to_bytes() table of the urllib.parse module, to