Skip to content

pipx installation not working #6304

@jpschaumloeffel

Description

@jpschaumloeffel

Problem

On Debian bookworm, the beets version installed by apt (1.6.0?) kinda works, but sets weird "a-b-l-u-m" releasetypes. Wanted to install a more recent version using pipx, but what is installed crashes during plugin import:

$ pipx install beets
... (no error)

$ cat ~/.config/beets/config.yaml 
directory: /mnt/ssd1/music/beets
library: /mnt/ssd1/music/beets.db

import:
  copy: no
  move: yes

$ beet version
** error loading plugin musicbrainz
Traceback (most recent call last):
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/plugins.py", line 445, in _get_plugin
    namespace = import_module(f"{PLUGIN_NAMESPACE}.{name}")
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beetsplug/musicbrainz.py", line 31, in <module>
    import beets.autotag.hooks
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/__init__.py", line 30, in <module>
    from .match import Proposal, Recommendation, tag_album, tag_item
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/match.py", line 24, in <module>
    import lap
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/lap/__init__.py", line 16, in <module>
    from ._lapjv import (
  File "_lapjv_cpp/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/plugins.py", line 447, in _get_plugin
    raise PluginImportError(name) from exc
beets.plugins.PluginImportError: Could not import plugin musicbrainz
Traceback (most recent call last):
  File "/home/jsch/.local/bin/beet", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1713, in main
    _raw_main(args)
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1688, in _raw_main
    subcommands, lib = _setup(options, lib)
                       ^^^^^^^^^^^^^^^^^^^^
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1519, in _setup
    from beets.ui.commands import default_commands
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/commands.py", line 30, in <module>
    from beets import autotag, config, importer, library, logging, plugins, ui, util
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/__init__.py", line 30, in <module>
    from .match import Proposal, Recommendation, tag_album, tag_item
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/match.py", line 24, in <module>
    import lap
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/lap/__init__.py", line 16, in <module>
    from ._lapjv import (
  File "_lapjv_cpp/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

$ beet --plugins= version
Traceback (most recent call last):
  File "/home/jsch/.local/bin/beet", line 7, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1713, in main
    _raw_main(args)
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1688, in _raw_main
    subcommands, lib = _setup(options, lib)
                       ^^^^^^^^^^^^^^^^^^^^
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/__init__.py", line 1519, in _setup
    from beets.ui.commands import default_commands
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/ui/commands.py", line 30, in <module>
    from beets import autotag, config, importer, library, logging, plugins, ui, util
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/__init__.py", line 30, in <module>
    from .match import Proposal, Recommendation, tag_album, tag_item
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/beets/autotag/match.py", line 24, in <module>
    import lap
  File "/home/jsch/.local/pipx/venvs/beets/lib/python3.11/site-packages/lap/__init__.py", line 16, in <module>
    from ._lapjv import (
  File "_lapjv_cpp/_lapjv.pyx", line 1, in init _lapjv
ImportError: numpy.core.multiarray failed to import (auto-generated because you didn't call 'numpy.import_array()' after cimporting numpy; use '<void>numpy._import_array' to disable if you are certain you don't need it).

Setup

  • OS: Debian Bookworm
  • Python version: 3.11
  • pipx version: 1.1.0
  • beets version: crashes, can't tell. Even setting plugins: [] has this error
  • Turning off plugins made problem go away (yes/no): no

My configuration (not output of beet config, it does not run... this is from the config file, plugins are from default) is:

directory: /mnt/ssd1/music/beets
library: /mnt/ssd1/music/beets.db

import:
  copy: no
  move: yes

I guess something about the numpy dependency is off? I also had similar issues trying to set it up manually in a virtualenv, but pipx being recommended as the installation method, I think either the docs are missing some hints or something about the package is broken.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions