question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

E _pytest.pathlib.ImportPathMismatchError

See original GitHub issue
  • When I test doctest in my own package, if I use pytest --doctest-modules, then it will raise this error. But If I do the doctest on each individual file, it will pass. I think the doctests is ok, But i can not avoid this error.
  • ---------------------- -------------------- attrs 19.3.0 Automat 0.8.0 blinker 1.4 certifi 2019.11.28 chardet 3.0.4 Click 7.0 cloud-init 21.3 colorama 0.4.3 command-not-found 0.3 configobj 5.0.6 constantly 15.1.0 cryptography 2.8 cycler 0.11.0 dbus-python 1.2.16 distro 1.4.0 distro-info 0.23ubuntu1 entrypoints 0.3 fonttools 4.29.0 httplib2 0.14.0 hyperlink 19.0.0 idna 2.8 importlib-metadata 1.5.0 incremental 16.10.1 iniconfig 1.1.1 Jinja2 2.10.1 jsonpatch 1.22 jsonpointer 2.0 jsonschema 3.2.0 keyring 18.0.1 kiwisolver 1.3.2 language-selector 0.1 launchpadlib 1.10.13 lazr.restfulclient 0.14.2 lazr.uri 1.0.3 MarkupSafe 1.1.0 matplotlib 3.5.1 more-itertools 4.2.0 netifaces 0.10.4 numpy 1.22.1 oauthlib 3.1.0 packaging 21.3 pexpect 4.6.0 Pillow 9.0.0 pip 20.0.2 pluggy 1.0.0 py 1.11.0 pyasn1 0.4.2 pyasn1-modules 0.2.1 PyGObject 3.36.0 PyHamcrest 1.9.0 PyJWT 1.7.1 pymacaroons 0.13.0 PyNaCl 1.3.0 pyOpenSSL 19.0.0 pyparsing 3.0.7 pyrsistent 0.15.5 pyserial 3.4 pytest 6.2.5 python-apt 2.0.0+ubuntu0.20.4.6 python-dateutil 2.8.2 python-debian 0.1.36ubuntu1 PyYAML 5.3.1 requests 2.22.0 requests-unixsocket 0.2.0 SecretStorage 2.3.1 service-identity 18.1.0 setuptools 45.2.0 simplejson 3.16.0 six 1.14.0 sos 4.1 ssh-import-id 5.10 systemd-python 234 toml 0.10.2 Tracknaliser 0.1.0 Twisted 18.9.0 ubuntu-advantage-tools 27.2 ufw 0.36 unattended-upgrades 0.1 urllib3 1.25.8 wadllib 1.3.3 wheel 0.34.2 zipp 1.0.0 zope.interface 4.7.1
  • 6.2.5
  • minimal example if possible

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
and3rsoncommented, May 4, 2022

I can reproduce this too whenever there are two modules with the same name in different packages. For example:

$ ls -R
./a:
foo.py

./b:
foo.py

$ pytest --doctest-modules .
================================================================ test session starts ================================================================
platform linux -- Python 3.10.4, pytest-7.1.2, pluggy-1.0.0
rootdir: /home/anderson/src/tp1
collected 0 items / 1 error

====================================================================== ERRORS =======================================================================
_____________________________________________________________ ERROR collecting b/foo.py _____________________________________________________________
.venv/lib/python3.10/site-packages/_pytest/runner.py:338: in from_call
    result: Optional[TResult] = func()
.venv/lib/python3.10/site-packages/_pytest/runner.py:369: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
.venv/lib/python3.10/site-packages/_pytest/doctest.py:545: in collect
    module = import_path(self.path, root=self.config.rootpath)
.venv/lib/python3.10/site-packages/_pytest/pathlib.py:556: in import_path
    raise ImportPathMismatchError(module_name, module_file, path)
E   _pytest.pathlib.ImportPathMismatchError: ('foo', '/home/anderson/src/tp1/a/foo.py', PosixPath('/home/anderson/src/tp1/b/foo.py'))
============================================================== short test summary info ==============================================================
ERROR b/foo.py - _pytest.pathlib.ImportPathMismatchError: ('foo', '/home/anderson/src/tp1/a/foo.py', PosixPath('/home/anderson/src/tp1/b/foo.py'))
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
================================================================= 1 error in 0.07s ==================================================================

Edit: I’ve found a temporary fix here https://github.com/pytest-dev/pytest/issues/2042#issuecomment-429289164 (PY_IGNORE_IMPORTMISMATCH=1 env var.)

0reactions
BinLiang2021commented, Jan 27, 2022

1643295197(1) And the individual doctest example

Read more comments on GitHub >

github_iconTop Results From Across the Web

Getting error ImportMismatchError while running py.test
When I am running tests locally its working fine, but after creating the docker and running inside the container I am getting below...
Read more >
How to fix ImportMismatchError in Python - Nicolas Bouliane
If you get this error, it's probably a very easy fix. Here's how to fix this error with a single terminal command.
Read more >
1935212 – %_pyproject_builddir sometimes leaks to pytest ...
When pytest collects tests, it ignores hidden directories by default, ... raise ImportPathMismatchError(module_name, module_file, path) E ...
Read more >
_pytest.python — pytest documentation
CollectError( ExceptionInfo.from_current().getrepr(style="short") ) from e except ImportPathMismatchError as e: raise self.
Read more >
[GitHub] [airflow] uranusjr commented on pull request #15317
The pytest issue this intends to fix is: ``` $ . ... raise ImportPathMismatchError(module_name, module_file, path) E _pytest.pathlib.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found