Author: Armin Rigo <ar...@tunes.org> Branch: py3.5 Changeset: r94718:248e6b2994ed Date: 2018-06-01 10:22 +0200 http://bitbucket.org/pypy/pypy/changeset/248e6b2994ed/
Log: Issue #2834 Try to call _bootstrap._install() at translation time only, not at runtime. diff --git a/pypy/module/_frozen_importlib/__init__.py b/pypy/module/_frozen_importlib/__init__.py --- a/pypy/module/_frozen_importlib/__init__.py +++ b/pypy/module/_frozen_importlib/__init__.py @@ -1,4 +1,5 @@ import os +from rpython.rlib.objectmodel import we_are_translated from pypy.interpreter.mixedmodule import MixedModule from pypy.module.sys import initpath from pypy.module._frozen_importlib import interp_import @@ -77,8 +78,17 @@ def startup(self, space): """Copy our __import__ to builtins.""" + if not we_are_translated(): + self.startup_at_translation_time_only(space) + self.space.builtin.setdictvalue(space, '__import__', self.w_import) + + def startup_at_translation_time_only(self, space): + # Issue #2834 + # Call _bootstrap._install() at translation time only, not at + # runtime. By looking around what it does, this should not + # freeze any machine-specific paths. I *think* it only sets up + # stuff that depends on the platform. w_install = self.getdictvalue(space, '_install') space.call_function(w_install, space.getbuiltinmodule('sys'), space.getbuiltinmodule('_imp')) - self.space.builtin.setdictvalue(space, '__import__', self.w_import) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit