Repository: ipython/ipython

Issue:
html.py conflict with html module
find that html.py is conflict with python `html` module. that is why when execute `IPython.__main__.py`, this error appears:

```
 python __main__.py 
/Users/suoyi/Documents/GitHub/ipython/IPython/html.py:12: ShimWarning: The `IPython.html` package has been deprecated since IPython 4.0. You should import from `notebook` instead. `IPython.html.widgets` has moved to `ipywidgets`.
  warn("The `IPython.html` package has been deprecated since IPython 4.0. "
Traceback (most recent call last):
  File "/Users/suoyi/Documents/GitHub/ipython/IPython/__main__.py", line 12, in <module>
    from IPython import start_ipython
  File "/Users/suoyi/miniconda3/envs/ipython/lib/python3.9/site-packages/IPython/__init__.py", line 56, in <module>
    from .terminal.embed import embed
  File "/Users/suoyi/miniconda3/envs/ipython/lib/python3.9/site-packages/IPython/terminal/embed.py", line 15, in <module>
    from IPython.core.interactiveshell import DummyMod, InteractiveShell
  File "/Users/suoyi/miniconda3/envs/ipython/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 60, in <module>
    from IPython.display import display
  File "/Users/suoyi/miniconda3/envs/ipython/lib/python3.9/site-packages/IPython/display.py", line 16, in <module>
    from IPython.lib.display import *
  File "/Users/suoyi/miniconda3/envs/ipython/lib/python3.9/site-packages/IPython/lib/display.py", line 5, in <module>
    from html import escape as html_escape
ImportError: cannot import name 'escape' from 'html' (/Users/suoyi/Documents/GitHub/ipython/IPython/html.py)

```

when remove html.py, this error disappear.
can you fix this by renaming this file?


Discussion:
Looks like a good candidate for 8.0. @Carreau? Should I remove it?
There's probably _even more_ things that would break when running ipython as a script.

This is a "feature" of python's path resolution, tied up with code smells like `sys.path.extend` and `PYTHONPATH`... basically _any_ file within a module that conflicts with _any_ of the 100k possibly-already-installed modules could create this same condition, and probably not worth changing the API, even for a major release.

Executing `python3 -m IPython`, via the `console_scripts` entrypoint, and therefore the shell wrapper, etc.  probably need to be documented as the "supported" mechanisms for launching ipython.
@bollwyvl This started to work for me after removing `html.py`, that's why I was asking. I don't think running `__main__` explicitly is the way to go, it's just that `html.py` seemed like a low hanging fruit - `python -m IPython.html` doesn't even work at the moment.

Resolving patch:
diff --git a/IPython/html.py b/IPython/html.py
deleted file mode 100644
--- a/IPython/html.py
+++ /dev/null
@@ -1,28 +0,0 @@
-"""
-Shim to maintain backwards compatibility with old IPython.html 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.html` package has been deprecated since IPython 4.0. "
-     "You should import from `notebook` instead. "
-     "`IPython.html.widgets` has moved to `ipywidgets`.", ShimWarning)
-
-_widgets = sys.modules['IPython.html.widgets'] = ShimModule(
-    src='IPython.html.widgets', mirror='ipywidgets')
-
-_html = ShimModule(
-    src='IPython.html', mirror='notebook')
-
-# hook up widgets
-_html.widgets = _widgets
-sys.modules['IPython.html'] = _html
-
-if __name__ == '__main__':
-    from notebook import notebookapp as app
-    app.launch_new_instance()


Test patch: