##// END OF EJS Templates
Backport PR #8829: Qt5 fix...
Backport PR #8829: Qt5 fix Fix for issue #8757. The problem was that IPython.external.qt was moved to qtconsole.qt, but IPython.external.qt_for_kernel was still trying to import IPython.external.qt. Rather than copying the qt.py file back to external, this PR merges the logic back into qt_for_kernel.py. Deferring to qt.py was a bit silly because both qt.py and qt_for_kernel.py do basically the same thing but in slightly different ways. Moreover, the assumption of qt.py was that if the QT_API environment variable is set, it must be in an ETS environment and need to comply by the ETS import logic. This is not valid, as ipython sets the QT_API environment variable to communicate intent as to Qt version, in `IPython/lib/inputhook.py:385` ...

File last commit:

r21515:2c9013e4
r21823:e0eb38c1
Show More
qt.py
24 lines | 744 B | text/x-python | PythonLexer
"""
Shim to maintain backwards compatibility with old IPython.qt imports.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import sys
from warnings import warn
from IPython.utils.shimmodule import ShimModule, ShimWarning
warn("The `IPython.qt` package has been deprecated. "
"You should import from qtconsole instead.", ShimWarning)
# Unconditionally insert the shim into sys.modules so that further import calls
# trigger the custom attribute access above
_console = sys.modules['IPython.qt.console'] = ShimModule(
src='IPython.qt.console', mirror='qtconsole')
_qt = ShimModule(src='IPython.qt', mirror='qtconsole')
_qt.console = _console
sys.modules['IPython.qt'] = _qt