summaryrefslogtreecommitdiffstats
path: root/Lib/importlib/__init__.py
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2014-03-21 14:58:33 (GMT)
committerBrett Cannon <brett@python.org>2014-03-21 14:58:33 (GMT)
commita00c2407caed1fe61bdd92788f7a8eb27fcff969 (patch)
treef86c2e40aa7510e084fbd1a165366abe1385aa99 /Lib/importlib/__init__.py
parent373f0a925bcaed53e7e2eb0406694acb00a03e36 (diff)
downloadcpython-a00c2407caed1fe61bdd92788f7a8eb27fcff969.zip
cpython-a00c2407caed1fe61bdd92788f7a8eb27fcff969.tar.gz
cpython-a00c2407caed1fe61bdd92788f7a8eb27fcff969.tar.bz2
Issue #20884: Don't assume in importlib.__init__ that __file__ is
defined.
Diffstat (limited to 'Lib/importlib/__init__.py')
-rw-r--r--Lib/importlib/__init__.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/importlib/__init__.py b/Lib/importlib/__init__.py
index f6adc5c..1bc9947 100644
--- a/Lib/importlib/__init__.py
+++ b/Lib/importlib/__init__.py
@@ -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