Ran into a strange error with pants -- running pyt...
# general
h
Ran into a strange error with pants -- running pytest seems to be missing some dependency? Outside of pants, running pytest works Any clues on how to resolve this? I tried reinstalling pants so far (Full log in thread)
Copy code
(venv) loganm@pc:~/llama_index$ pants test llama-index-finetuning/tests/
14:49:54.59 [WARN] Failed to generate JUnit XML data for llama-index-finetuning/tests/test_base.py.
14:49:54.59 [ERROR] Completed: Run Pytest - llama-index-finetuning/tests/test_base.py - failed (exit code 1).
Traceback (most recent call last):
  File ".cache/pex_root/venvs/2d3830e298a4dad70f5d35a1119fcc584bf75a48/417fc695528fff0584efbbafbbda5191c31a76d8/pex", line 289, in <module>
    sys.exit(func())
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 188, in console_main
    code = main()
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 146, in main
    config = _prepareconfig(args, plugins)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 325, in _prepareconfig
    config = pluginmanager.hook.pytest_cmdline_parse(
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 265, in __call__
    return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 80, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 55, in _multicall
    gen.send(outcome)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/helpconfig.py", line 102, in pytest_cmdline_parse
    config: Config = outcome.get_result()
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_result.py", line 60, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 39, in _multicall
    res = hook_impl.function(*args)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 1013, in pytest_cmdline_parse
    self.parse(args)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 1301, in parse
    self._preparse(args, addopts=addopts)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 1184, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 287, in load_setuptools_entrypoints
    plugin = ep.load()
  File "/home/loganm/.pyenv/versions/3.10.13/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/home/loganm/.pyenv/versions/3.10.13/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/_pytest/assertion/rewrite.py", line 171, in exec_module
    exec(co, module.__dict__)
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/pytest_cov/plugin.py", line 6, in <module>
    import coverage
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/coverage/__init__.py", line 24, in <module>
    from coverage.control import (
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/coverage/control.py", line 28, in <module>
    from coverage.collector import Collector, HAS_CTRACER
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/coverage/collector.py", line 19, in <module>
    from coverage.data import CoverageData
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/coverage/data.py", line 24, in <module>
    from coverage.sqldata import CoverageData
  File "/home/loganm/.cache/pants/named_caches/pex_root/venvs/s/d45f7f7e/venv/lib/python3.10/site-packages/coverage/sqldata.py", line 18, in <module>
    import sqlite3
  File "/home/loganm/.pyenv/versions/3.10.13/lib/python3.10/sqlite3/__init__.py", line 57, in <module>
    from sqlite3.dbapi2 import *
  File "/home/loganm/.pyenv/versions/3.10.13/lib/python3.10/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ModuleNotFoundError: No module named '_sqlite3'
I'm not sure why the pex env isn't including dependencies needed to run here, since its a dependency from pants itself I imagine
b
It looks like pants has picked up a particular interpreter provided by pyenv, and apparently the standard lib isn't fully set up for that interpreter. If you run that specific interpreter outside pants, does it work as expected? E.g.
Copy code
pyenv local 3.10.13
python -c 'import _sqlite3'
1
h
Ah I did recently mess around with pyenv. I'll try that (and also see if I can get pyenv to include/setup the full standard lib)
Now that I'm googling properly, seems I'm not the only one haha https://github.com/pyenv/pyenv/issues/678
👍 1