Picard won't start

openSUSE Tumbleweed 20220316 KDE Plasma 5.24.3 Picard 2.7.3-1.2

When I try to start Picard I get an error that points me to this log file.

Traceback (most recent call last):
File “/usr/bin/picard”, line 4, in
from picard.tagger import main
File “/usr/lib64/python3.8/site-packages/picard/tagger.py”, line 64, in
from picard import (
File “/usr/lib64/python3.8/site-packages/picard/acoustid/init.py”, line 39, in
from picard.file import File
File “/usr/lib64/python3.8/site-packages/picard/file.py”, line 74, in
from picard.script import get_file_naming_script
File “/usr/lib64/python3.8/site-packages/picard/script/init.py”, line 63, in
from picard.script.serializer import FileNamingScript
File “/usr/lib64/python3.8/site-packages/picard/script/serializer.py”, line 33, in
import yaml
ModuleNotFoundError: No module named ‘yaml’

Any suggestions on what needs to be done to get this Picard working? Thankm You

You need to install the python3-yaml.

Have you installed Picard from official Tumbleweed package sources? If yes it would be cool if you could inform them about the missing dependency so they can update the package.

2 Likes

thank you @outsidecontext
so I went into YAST > Software Management and did a search for python3-yaml.
I see a lot of -yaml files but, no python3-yaml
I went to software.openSUSE.org and under Tumbleweed did a search for yaml.
There were as in YAST a lot of choices with the word yaml in them, the closest one being [python-yaml] which is a Python module to produce formatted YAML-serialized data.
OR
[python-PyYAML] which is YAML parser and emitter for Python.

There are others such as Python38-yaml and Python39-yaml.
Any idea which I should choose? or choose none?
Would there be a link directly to the file you are referring to?
Is there some way to tell if all dependancies are satisfied?

I don’t know how the packages in Suse Tumbelweed are called exactly. Searching at https://software.opensuse.org/search?utf8=✓&baseproject=openSUSE%3AFactory&q=python+yaml there is python-pyyaml, I’d try to install that first. But might be that you need to install the version named after the specific python version Picard is running with, e.g. python38-pyaml in your case (because the error message indicates Python 3.8 is being used).

If in doubt just try it. Worst thing is it does not work and you can uninstall the package again.

If Picard runs the required dependencies are there. There are some option dependencies, see picard/INSTALL.md at master · metabrainz/picard · GitHub . I don’t know if the Suse package specifies those, but packages for python-PyJWT, python-Markdown and python-discid seem to exist (according to the Suse package search).

2 Likes

thank you @outsidecontext
I did install python38-yaml and now Picard does open.

So that problem solved with your good help.
Much appreciated outsidecontext.

3 Likes