This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: 5 failures in test_doctest: ModuleNotFoundError: No module named 'IPython'
Type: Stage: resolved
Components: Versions: Python 3.6
process
Status: closed Resolution: out of date
Dependencies: Superseder:
Assigned To: Nosy List: BTaskaya, Gerrit.Holl, eric.snow, iritkatriel
Priority: normal Keywords:

Created on 2017-01-04 15:48 by Gerrit.Holl, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Files
File name Uploaded Description Edit
test_doctest_failure Gerrit.Holl, 2017-01-04 15:48 verbose output for `./python -m test -v test_doctest`
Messages (5)
msg284643 - (view) Author: Gerrit Holl (Gerrit.Holl) * Date: 2017-01-04 15:48
I am building and testing Python 3.6 on the JASMIN Analysis Platform <http://www.jasmin.ac.uk/services/jasmin-analysis-platform/>, which runs Red Hat Enterprise Linux Server release 6.8 on a machine with 48 × Intel(R) Xeon(R) CPU E7-4860 v2 @ 2.60GHz, 2 TiB RAM, and a PanFSⓇ <http://www.panasas.com/products/panfs> distributed file system.  I am experiencing failures in test_doctest, specifically with `ModuleNotFoundError: No module named 'IPython'`.  I don't know why it comes up with IPython at all.

Below is the non-verbose test output.  Attached is the verbose test output.


$ ./python -m test test_doctest
Run tests sequentially
0:00:00 [1/1] test_doctest
**********************************************************************
File "/dev/shm/gerrit/Python-3.6.0/Lib/test/test_doctest.py", line 1841, in test.test_doctest.test_debug
Failed example:
    try: doctest.debug_src(s)
    finally: sys.stdin = real_stdin
Expected:
    > <string>(1)<module>()
    (Pdb) next
    12
    --Return--
    > <string>(1)<module>()->None
    (Pdb) print(x)
    12
    (Pdb) continue
Got:
    *** ModuleNotFoundError: No module named 'IPython'
    > <string>(1)<module>()
    (Pdb) next
    12
    --Return--
    > <string>(1)<module>()->None
    (Pdb) print(x)
    12
    (Pdb) continue
**********************************************************************
File "/dev/shm/gerrit/Python-3.6.0/Lib/test/test_doctest.py", line 1885, in test.test_doctest.test_pdb_set_trace
Failed example:
    try: runner.run(test)
    finally: sys.stdin = real_stdin
Expected:
    --Return--
    > <doctest foo-bar@baz[2]>(1)<module>()->None
    -> import pdb; pdb.set_trace()
    (Pdb) print(x)
    42
    (Pdb) continue
    TestResults(failed=0, attempted=3)
Got:
    --Return--
    *** ModuleNotFoundError: No module named 'IPython'
    > <doctest foo-bar@baz[2]>(1)<module>()->None
    -> import pdb; pdb.set_trace()
    (Pdb) print(x)
    42
    (Pdb) continue
    TestResults(failed=0, attempted=3)
**********************************************************************
File "/dev/shm/gerrit/Python-3.6.0/Lib/test/test_doctest.py", line 1914, in test.test_doctest.test_pdb_set_trace
Failed example:
    try:
        runner.run(test)
    finally:
        sys.stdin = real_stdin
Expected:
    --Return--
    > <doctest test.test_doctest.test_pdb_set_trace[7]>(3)calls_set_trace()->None
    -> import pdb; pdb.set_trace()
    (Pdb) print(y)
    2
    (Pdb) up
    > <doctest foo-bar@baz[1]>(1)<module>()
    -> calls_set_trace()
    (Pdb) print(x)
    1
    (Pdb) continue
    TestResults(failed=0, attempted=2)
Got:
    --Return--
    *** ModuleNotFoundError: No module named 'IPython'
    > <doctest test.test_doctest.test_pdb_set_trace[7]>(3)calls_set_trace()->None
    -> import pdb; pdb.set_trace()
    (Pdb) print(y)
    2
    (Pdb) up
    > <doctest foo-bar@baz[1]>(1)<module>()
    -> calls_set_trace()
    (Pdb) print(x)
    1
    (Pdb) continue
    TestResults(failed=0, attempted=2)
**********************************************************************
File "/dev/shm/gerrit/Python-3.6.0/Lib/test/test_doctest.py", line 1952, in test.test_doctest.test_pdb_set_trace
Failed example:
    try: runner.run(test)
    finally: sys.stdin = real_stdin
    # doctest: +NORMALIZE_WHITESPACE
Expected:
    --Return--
    > <doctest foo-bar@baz[1]>(3)g()->None
    -> import pdb; pdb.set_trace()
    (Pdb) list
      1     def g(x):
      2         print(x+3)
      3  ->     import pdb; pdb.set_trace()
    [EOF]
    (Pdb) next
    --Return--
    > <doctest foo-bar@baz[0]>(2)f()->None
    -> g(x*2)
    (Pdb) list
      1     def f(x):
      2  ->     g(x*2)
    [EOF]
    (Pdb) next
    --Return--
    > <doctest foo-bar@baz[2]>(1)<module>()->None
    -> f(3)
    (Pdb) list
      1  -> f(3)
    [EOF]
    (Pdb) continue
    **********************************************************************
    File "foo-bar@baz.py", line 7, in foo-bar@baz
    Failed example:
        f(3)
    Expected nothing
    Got:
        9
    TestResults(failed=1, attempted=3)
Got:
    --Return--
    *** ModuleNotFoundError: No module named 'IPython'
    > <doctest foo-bar@baz[1]>(3)g()->None
    -> import pdb; pdb.set_trace()
    (Pdb) list
      1         def g(x):
      2             print(x+3)
      3  ->         import pdb; pdb.set_trace()
    [EOF]
    (Pdb) next
    --Return--
    > <doctest foo-bar@baz[0]>(2)f()->None
    -> g(x*2)
    (Pdb) list
      1         def f(x):
      2  ->         g(x*2)
    [EOF]
    (Pdb) next
    --Return--
    > <doctest foo-bar@baz[2]>(1)<module>()->None
    -> f(3)
    (Pdb) list
      1  ->     f(3)
    [EOF]
    (Pdb) continue
    **********************************************************************
    File "foo-bar@baz.py", line 7, in foo-bar@baz
    Failed example:
        f(3)
    Expected nothing
    Got:
        9
    TestResults(failed=1, attempted=3)
File "/dev/shm/gerrit/Python-3.6.0/Lib/test/test_doctest.py", line 2025, in test.test_doctest.test_pdb_set_trace_nested
Failed example:
    try:
        runner.run(test)
    finally:
        sys.stdin = real_stdin
    # doctest: +REPORT_NDIFF
Differences (ndiff with -expected +actual):
    + *** ModuleNotFoundError: No module named 'IPython'
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
      -> self.f1()
      (Pdb) print(y)
      1
      (Pdb) step
      --Call--
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(7)f1()
      -> def f1(self):
      (Pdb) step
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(8)f1()
      -> x = 1
      (Pdb) step
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
      -> self.f2()
      (Pdb) step
      --Call--
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(11)f2()
      -> def f2(self):
      (Pdb) step
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(12)f2()
      -> z = 1
      (Pdb) step
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(13)f2()
      -> z = 2
      (Pdb) print(z)
      1
      (Pdb) up
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(9)f1()
      -> self.f2()
      (Pdb) print(x)
      1
      (Pdb) up
      > <doctest test.test_doctest.test_pdb_set_trace_nested[0]>(5)calls_set_trace()
      -> self.f1()
      (Pdb) print(y)
      1
      (Pdb) up
      > <doctest foo-bar@baz[1]>(1)<module>()
      -> calls_set_trace()
      (Pdb) print(foo)
      *** NameError: name 'foo' is not defined
      (Pdb) continue
      TestResults(failed=0, attempted=2)
**********************************************************************
3 items had failures:
   1 of   4 in test.test_doctest.test_debug
   3 of  18 in test.test_doctest.test_pdb_set_trace
   1 of   9 in test.test_doctest.test_pdb_set_trace_nested
***Test Failed*** 5 failures.
test test_doctest failed -- 5 of 515 doctests failed
test_doctest failed

1 test failed:
    test_doctest

Total duration: 3 sec
Tests result: FAILURE
msg284649 - (view) Author: Gerrit Holl (Gerrit.Holl) * Date: 2017-01-04 16:35
I get the same failure cause in test_pdb and test_zipimport_support, also in situations with tests based on doctest, again getting an unexpected `*** ModuleNotFoundError: No module named 'IPython'`
msg285059 - (view) Author: Eric Snow (eric.snow) * (Python committer) Date: 2017-01-09 17:33
There shouldn't be anything in CPython that depends on IPython.  I'd recommend checking for $PYTHONSTARTUP, in site.py, and for .pth files in directories on sys.path.  Also look for .py files in the current directory that are shadowing stdlib modules.  Any of these could introduce the attempt to import IPython.  Also, do you get the same error if you directly run the doctest-failing code?
msg359466 - (view) Author: Batuhan Taskaya (BTaskaya) * (Python committer) Date: 2020-01-06 20:23
@Gerrit.Holl do you able to reproduce this with a clean python installation, as @eric.snow suggested there is a chance that some kind of pth hack that tried to inject ipython etc.
msg406828 - (view) Author: Irit Katriel (iritkatriel) * (Python committer) Date: 2021-11-23 09:10
3.6 is no longer maintained. I am closing this because there was no response to questions from the core devs. If you are having this problem in a current version (>=3.9) please open a new issue.
History
Date User Action Args
2022-04-11 14:58:41adminsetgithub: 73340
2021-11-23 09:10:27iritkatrielsetstatus: open -> closed

nosy: + iritkatriel
messages: + msg406828

resolution: out of date
stage: resolved
2020-01-06 20:23:21BTaskayasetnosy: + BTaskaya
messages: + msg359466
2017-01-09 17:33:16eric.snowsetnosy: + eric.snow
messages: + msg285059
2017-01-04 16:35:53Gerrit.Hollsetmessages: + msg284649
2017-01-04 15:48:47Gerrit.Hollcreate