Skip to content

Update to 3.1: circular import error #2562

@aborruso

Description

@aborruso

Small description

I have installed it both via pip and pipx, and I have "ImportError: cannot import name 'GuideSheet' from partially initialized module 'visidata'" error

Steps to reproduce

I have installed vd in two ways:

  • pip3 install visidata
  • pipx install visidata

Then I run vd and I have

Traceback (most recent call last):
  File "/home/aborruso/.local/bin/vd", line 3, in <module>
    import visidata.main
  File "/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/__init__.py", line 157, in <module>
    importFeatures()
  File "/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/__init__.py", line 139, in importFeatures
    vd.importSubmodules('visidata.features')
  File "/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/settings.py", line 508, in importSubmodules
    vd.importModule(pkgname + '.' + module.name)
  File "/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/settings.py", line 491, in importModule
    r = importlib.import_module(pkgname)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/features/errors_guide.py", line 1, in <module>
    from visidata import GuideSheet, vd
ImportError: cannot import name 'GuideSheet' from partially initialized module 'visidata' (most likely due to a circular import) (/home/aborruso/.local/pipx/venvs/visidata/lib/python3.11/site-packages/visidata/__init__.py)

Expected result

Actual result with screenshot

[If there is an error message, please include the full stack trace shown with Ctrl+E.]

Configuration

  • Does this issue reproduce without any plugins or configuration (using the -N CLI flag)?

Yes

yes

Additional context

  • What platform and version are you using (Linux, MacOS, Windows)?

Debian 12

  • Which version of Python?

Python 3.11.2

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions