You are not logged in.
I updated today, which included a gpodder update:
[2024-04-27T17:21:57-0400] [ALPM] upgraded gpodder (3.11.4-2 -> 3.11.4-3)
Now gpodder won't start:
$ gpodder
1714260770.288546 [gpodder.util] WARNING: html5lib was not found, fall-back to HTMLParser
1714260770.290438 [gpodder.log] ERROR: Uncaught exception: Traceback (most recent call last):
File "/usr/bin/gpodder", line 181, in <module>
main()
File "/usr/bin/gpodder", line 173, in main
from gpodder.gtkui import app
File "/usr/lib/python3.12/site-packages/gpodder/gtkui/app.py", line 31, in <module>
from gpodder import core, util
File "/usr/lib/python3.12/site-packages/gpodder/core.py", line 25, in <module>
from gpodder import config, dbsqlite, extensions, model, util
File "/usr/lib/python3.12/site-packages/gpodder/extensions.py", line 34, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
Traceback (most recent call last):
File "/usr/bin/gpodder", line 181, in <module>
main()
File "/usr/bin/gpodder", line 173, in main
from gpodder.gtkui import app
File "/usr/lib/python3.12/site-packages/gpodder/gtkui/app.py", line 31, in <module>
from gpodder import core, util
File "/usr/lib/python3.12/site-packages/gpodder/core.py", line 25, in <module>
from gpodder import config, dbsqlite, extensions, model, util
File "/usr/lib/python3.12/site-packages/gpodder/extensions.py", line 34, in <module>
import imp
ModuleNotFoundError: No module named 'imp'
Searching for that error finds github and other results from last October and earlier this year about imp being replaced with importlib.
Downgrading to 3.11.4-2 did not help.
Last edited by ronw (2024-04-27 23:48:01)
Offline
Offline
I've just been hit with this too.
It looks like gPodder is relying on a python module (imp) that was deprecated in 3.4 removed in 3.12. Downgrading python might work, but downgrading gPodder won't.
There's a gpodder-git package in the AUR, I can confirm that works on my machine.
Offline
This seems to indicate that gpodder has been rebuilt for python 3.12:
Offline
This seems to indicate that gpodder has been rebuilt for python 3.12:
That doesn't matter. Rebuilding is not going to fix uses of deprecated code.
Offline
Running from git works. Create a virtual environment in a folder outside the git cloned gpodder folder. And activate this environment before you run any pip commands. You will need to pip3 install PyGObject in addition to what is in the requirements.txt.
Offline
Please prefer https://aur.archlinux.org/packages/gpodder-git to running things directly from git and pipping potentially system wide dependencies.
Offline
Please prefer https://aur.archlinux.org/packages/gpodder-git to running things directly from git and pipping potentially system wide dependencies.
Somehow I missed the AUR package, even though:
There's a gpodder-git package in the AUR, I can confirm that works on my machine.
I can confirm that doing git clone https://aur.archlinux.org/gpodder-git.git and makepkg -si was much easier than setting up a Python virtual environment and using pip, a process that has the potential to hose your system if you do it improperly. Even though Python is a nice language, the experience with this part of its ecosystem has convinced me to abandon my education in Python and learn Go instead.
Offline
I also ran into this issue, and I am now using the following Bash script "~/bin/gpo" (with "~/bin/gpodder" as a symlink to it), to run gPodder from the source. Benefit: Update is just a
git -C ~/upstream/gpodder pull
away.
Dependencies are:
pacman -S --needed --noconfirm git python
The script, saved to "~/bin/gpo",
chmod +x ~/bin/gpo
, with "~/bin" on PATH.
#! /bin/bash
BINNAME="$(basename $0)"
VENVPREFIX=${VENVPREFIX:-"$HOME/tools/gpodder"}
VENV="$VENVPREFIX/bin/activate"
SRC=${SRC:-"$HOME/upstream/gpodder"}
BINPREFIX="$SRC/bin"
REQ="$SRC/tools/requirements.txt"
if [[ ! -e "$SRC" ]]; then
SRCDIR="$(dirname "$SRC")"
SRCNAME="$(basename "$SRC")"
mkdir -p "$SRCDIR"
pushd "$SRCDIR"; git clone https://github.com/gpodder/gpodder "$SRCNAME"; popd;
fi
if [[ ! -e "$VENV" ]]; then
if python -mvenv "$VENVPREFIX"; then
source $VENV
pip install --upgrade -r "$REQ"
pip install --upgrade PyGObject
else
1>&2 echo "Python venv $VENV failed to install"
exit 1
fi
fi
source $VENV
"$BINPREFIX/$BINNAME" "$@"
Offline
I went to try to file a proper bug on the issue tracker (https://gitlab.archlinux.org/archlinux/ … r/-/issues) but it doesn't seem to want to let me log in or make an account.
Does anyone have an account on the gitlab and want to make a bug to get it updated in main line?
In the mean time I've had luck by just cloning the upstream repo and installing it into a python venv with
# Create a venv and activate it
$ python3 -mvenv gpo_venv
$ . gpo_venv/bin/activate
# Clone and install gpodder within the venv
$ git clone https://github.com/gpodder/gpodder.git
$ cd gpodder
$ pip install .
Last edited by scott_fakename (2024-05-03 04:58:39)
Offline
I don't use gpodder but looking at what scott_fakename says above then the following will work (after trying it myself):
pipx install git+https://github.com/gpodder/gpodder.git
pipx inject gpodder requests
Offline