importerror: cannot import name 'display' from 'ipython.core.display'"
Handles the lowercase `importerror: cannot import name 'display' from 'ipython.core.display'` terminal phrasing: same IPython 9 removal, same fix. Import from `IPython.display` and scan the whole environment for the stale path. Not for kernel crashes or missing modules.
TL;DR
This is the same failure as the capitalized version: IPython 9 removed the ipython.core.display re-export, so display must come from IPython.display. Paste from IPython.display import display, HTML, Image at the top of the notebook. Then check the environment for a partially upgraded IPython, because half-upgraded installs produce the identical message for a different reason.
importerror: cannot import name 'display' from 'ipython.core.display'Use this when
- Terminal or log output shows the lowercase
importerror:phrasing foripython.core.display. - The failure appeared after
pip install --upgrade ipythonor a fresh environment build. - A dependency log or CI log captured the lowercase traceback line.
Not for this skill when
- The message names
ipykernelas missing. Install ipykernel instead. - The import works in a terminal but fails inside the notebook. That is a kernel-vs-environment mismatch.
Steps
- In the failing cell, replace the import with
from IPython.display import display. Verify: the cell executes without error. - Check for a split-brain install:
pip show ipython | grep Locationandpython -c "import IPython; print(IPython.__file__)". Verify: both point at the same site-packages. - If the paths disagree, uninstall twice and reinstall once:
pip uninstall -y ipython, repeat, thenpip install ipython. Verify: one location, one version. - Reinstall the kernel spec from the cleaned environment:
python -m ipykernel install --user --name [env-name]. Verify:jupyter kernelspec listshows the new spec. - Re-run the notebook top to bottom in the re-registered kernel. Verify: no ImportError on any display import.
Variant phrasings
cannot import name display ipython
The short search form. Same removal, same fix.
display import error ipython 9
Version-tagged phrasing. Confirms the IPython 9 removal is the cause.
ipython display ImportError lowercase
Log-scraped phrasing. Fix path is unchanged.
Compatibility: IPython 8/9, pip and conda installs. The fix is version-agnostic once the import points at IPython.display.
Why it happens
Lowercase importerror: usually means the line was copied from a terminal traceback or a log aggregator rather than typed by a human. The underlying cause is the same IPython 9 removal, but log-sourced reports are also where half-upgraded environments show up, so this variant doubles as a prompt to check for two IPython copies fighting in one environment.
Edge cases / pitfalls
- Running
pip install ipythonwhile the notebook kernel runs from a different python does not fix the notebook. Fix the kernel's environment. - Conda and pip mixing can leave
IPythonin one site-packages andipythonmetadata in another. Check both.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_0THivjGoFbDq7kzexkiubw