beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.6k stars 1.8k forks source link

absubmit plugin causes all commands to error #2376

Closed bearcatsandor closed 7 years ago

bearcatsandor commented 7 years ago

Problem

(Describe your problem, feature request, or discussion topic here. If you're reporting a bug, please fill out this and the "Setup" section below. Otherwise, you can delete them.)

Running this command in verbose (-vv) mode:

zsh shell

$ beet -vv user configuration: /home/bearcat/.config/beets/config.yaml data directory: /home/bearcat/.config/beets plugin paths: Sending event: pluginload artresizer: method is (2, (6, 9, 7)) thumbnails: using IM to write metadata thumbnails: using GIO to compute URIs lyrics: Disabling google source: no API key configured. Traceback (most recent call last): File "/usr/lib/python-exec/python2.7/beet", line 11, in load_entry_point('beets==1.4.3', 'console_scripts', 'beet')() File "/usr/lib64/python2.7/site-packages/beets/ui/init.py", line 1209, in main _raw_main(args) File "/usr/lib64/python2.7/site-packages/beets/ui/init.py", line 1192, in _raw_main subcommands, plugins, lib = _setup(options, lib) File "/usr/lib64/python2.7/site-packages/beets/ui/init.py", line 1089, in _setup plugins = _load_plugins(config) File "/usr/lib64/python2.7/site-packages/beets/ui/init.py", line 1075, in _load_plugins plugins.send("pluginload") File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 451, in send for handler in event_handlers()[event]: File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 434, in event_handlers for plugin in find_plugins(): File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 288, in find_plugins _instances[cls] = cls() File "/usr/lib64/python2.7/site-packages/beetsplug/absubmit.py", line 84, in init self.extractor = distutils.spawn.find_executable(self.extractor) AttributeError: 'module' object has no attribute 'spawn'

Led to this problem:

user configuration: /home/bearcat/.config/beets/config.yaml
data directory: /home/bearcat/.config/beets
plugin paths: 
Sending event: pluginload
artresizer: method is (2, (6, 9, 7))
thumbnails: using IM to write metadata
thumbnails: using GIO to compute URIs
lyrics: Disabling google source: no API key configured.
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/beet", line 11, in <module>
    load_entry_point('beets==1.4.3', 'console_scripts', 'beet')()
  File "/usr/lib64/python2.7/site-packages/beets/ui/__init__.py", line 1209, in main
    _raw_main(args)
  File "/usr/lib64/python2.7/site-packages/beets/ui/__init__.py", line 1192, in _raw_main
    subcommands, plugins, lib = _setup(options, lib)
  File "/usr/lib64/python2.7/site-packages/beets/ui/__init__.py", line 1089, in _setup
    plugins = _load_plugins(config)
  File "/usr/lib64/python2.7/site-packages/beets/ui/__init__.py", line 1075, in _load_plugins
    plugins.send("pluginload")
  File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 451, in send
    for handler in event_handlers()[event]:
  File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 434, in event_handlers
    for plugin in find_plugins():
  File "/usr/lib64/python2.7/site-packages/beets/plugins.py", line 288, in find_plugins
    _instances[cls] = cls()
  File "/usr/lib64/python2.7/site-packages/beetsplug/absubmit.py", line 84, in __init__
    self.extractor = distutils.spawn.find_executable(self.extractor)
AttributeError: 'module' object has no attribute 'spawn'

Here's a link to the music files that trigger the bug (if relevant):

Setup

My configuration (output of beet config) is:

lyrics:
    bing_lang_from: []
    fallback: No lyrics found
    bing_client_secret: REDACTED
    google_API_key: REDACTED
    force: no
    google_engine_ID: REDACTED
    sources:
    - google
    - lyricwiki
    - lyrics.com
    - musixmatch
    auto: yes
    genius_api_key: REDACTED
    bing_lang_to:
duplicates:
    format: $albumartist - $album - $title
    count: yes
    album: no
    full: no
    keys: []
    move: ''
    tag: ''
    path: no
    copy: ''
    tiebreak: {}
    strict: no
    checksum: ''
    merge: no
    delete: no
play:
    command: gst-play-1.0 --gapless --volume=1.0
    use_folders: no
    raw: yes
    warning_threshold: -2
    warning_treshold: 100
    relative_to:
library: ~/.config/beets/musiclibrary.blb

replace:
    '[\\/]': _
    ^\.: _
    '[\x00-\x1f]': _
    '[<>:"\?\*\|]': _
    \s+$: ''
    ' ': _
    \!: ''
original_date: yes
replaygain:
    backend: gstreamer
    auto: yes
    overwrite: yes
    targetlevel: 89

plugins: acousticbrainz badfiles bpd chroma convert copyartifacts duplicates edit embedart fetchart follow fromfilename ftintitle fuzzy hook importadded info inline lastgenre lyrics mbcollection mbsubmit mbsync mpdstats missing play random replaygain rewrite the thumbnails types web zero
follow:
    auto: yes
    email: bearcatsandor@gmail.com
    password: j@gu@rund1
    userid: 7frytxfvwbjh8llhbif9lkd0zavps9
acousticbrainz:
    auto: yes
    force: no

paths:
    default: '%lower{%the{$albumartist}/$original_year-$album%if{$albumdisambig,_[$albumdisambig]}/$disc-$track-$title}'
    singleton: '%lower{singletons/%the{$artist}-$title}'
    comp: '%lower{various_artists/%if{$original_year,$original_year,$year}-$album%if{$albumdisambig,_[$albumdisambig]}/$disc-$track-%the{$artist}-$title}'

format_item: $albumartist - $original_year - $album - $title - $length
art_filename: cover
zero:
    fields: comments
    comments:
    - EAC
    - LAME
    - from.+collection
    - ripped by
    update_database: yes
    auto: yes
    keep_fields: []
missing:
    format: $albumartist - $album - $title
    count: yes
    total: yes
format_album: $albumartist - $original_year - $album
lastgenre:
    fallback: ''
    canonical: ''
    source: track
    count: 4
    prefer_specific: no
    force: yes
    min_weight: 10
    auto: yes
    whitelist: yes
    separator: ', '

import:
    move: yes
    incremental: yes
    detail: yes
    timid: yes
    resume: ask
    log: /tmp/beets_import.log
    write: yes

sort_album: albumartist+ original_year+ album+

match:
    preferred:
        media:
        - Hybrid SACD
        - SACD
        - CD
        - Digital Media|File
mbcollection:
    auto: no
mpd:
    rating: no
    rating_mix: 0.75
    host: localhost
    music_directory: /home/hometheater/audio
    password: REDACTED
    port: 6600
fetchart:
    auto: yes
    google_key: REDACTED
    google_search: no
    cautious: no
    cover_names: cover front back art album folder
    minwidth: 500
    sources: filesystem fanarttv coverart itunes amazon albumart wikipedia google
    fanarttv_key: REDACTED
    store_source: yes
    google_engine: 001442825323518660753:hrh5ch1gjzm
    enforce_ratio: no
    maxwidth: 0
embedart:
    auto: yes
    maxwidth: 1000
    compare_threshold: 0
    ifempty: no
    remove_art_file: no

musicbrainz:
    user: bearcatsandor
    pass: REDACTED
    searchlimit: 20
fuzzy:
    threshold: 0.7
    prefix: '~'
sort_item: albumartist+ original_year+ album+ disc+ track+
convert:
    auto: yes
    format: wavpack
    pretend: no
    quiet: no
    formats:
        flac:
            command: gst-launch-1.0 filesrc location="$source" ! decodebin ! audioconvert ! flacenc quality=8 ! flactag ! filesink location="$dest"
            extension: flac
        wavpack:
            command: gst-launch-1.0 filesrc location="$source" ! decodebin ! audioconvert ! wavpackenc extra-processing=1 md5=true ! apev2mux ! filesink location="$dest"
            extension: wv
        alac:
            command: ffmpeg -i $source -y -vn -acodec alac $dest
            extension: m4a
        aac:
            command: ffmpeg -i $source -y -vn -acodec libfaac -aq 100 $dest
            extension: m4a
        opus: ffmpeg -i $source -y -vn -acodec libopus -ab 96k $dest
        mp3: ffmpeg -i $source -y -vn -aq 2 $dest
        ogg: ffmpeg -i $source -y -vn -acodec libvorbis -aq 3 $dest
        wma: ffmpeg -i $source -y -vn -acodec wmav2 -vn $dest
    embed: yes
    dest: ~/tmp
    never_convert_lossy_files: no
    album_art_maxwidth: 0
    threads: 6
    copy_album_art: no
    tmpdir:
    max_bitrate: 500

    paths: {}
threaded: yes
per_disc_numbering: yes
ftintitle:
    format: (feat. {0})
    auto: yes
    drop: no
album_fields:
    album_length: "total = 0\nfor item in items:\n    total += item.length\n    return total\n"

ui:
    color: yes
bpd:
    port: 6600
    volume: 100
    host: ''
    password: REDACTED
directory: /home/hometheater/audio
web:
    host: 127.0.0.1
    port: 8337
    cors: ''
mbsubmit:
    threshold: medium
    format: $track. $title - $artist ($length)
copyartifacts:
    print_ignored: no
    extensions: .*
edit:
    itemfields: track title artist album
    albumfields: album albumartist
    ignore_fields: id path
thumbnails:
    auto: yes
    dolphin: no
    force: no
pathfields: {}
item_fields: {}
hook:
    hooks: []
the:
    a: yes
    patterns: []
    the: yes
    strip: no
    format: '{0}, {1}'
importadded:
    preserve_write_mtimes: no
    preserve_mtimes: no
rewrite: {}
chroma:
    auto: yes
sampsyo commented 7 years ago

Thanks for the full details! Can you please give the most recent version a try?

bearcatsandor commented 7 years ago

Thank you. It works now, so i'm confirming this as Closed. Thanks for the quick fix!

sampsyo commented 7 years ago

Woohoo!