oh wonderful. python 3.13 seems to have broken a shitload of things by booting imghdr out of the standard library. including some of the things still packaged by Void (eg epy).

so much for "batteries included"...

You can still install the package with

pip install standard-imghdr

um... no, i can't, because void disallows pip (although it'll cheerfully let you install it).

seriously, i'm beginning to suspect that python might be less of a problem here than Void's packaging of it

Show thread

@millihertz
No, I don't think it's limited to Void, it's Python's idea that you should use your distro's package manager to install the modules instead of pip — however pip is still there so you can use it to install modules to venvs.
There is a switch that allows you to force the installation of module into user's site-packages — it's a temporary solution, a more permanent one would be Void shipping standard-imghdr and make it a dependency of epy.

@m0xee i tried to use venvs once. *shudder* never. EVER. again. 😱

@millihertz
No, venvs are good once you get more comfortable with them, I have a bunch of homebrew stuff in Python and venvs solve problem like this just fine, I just source activate.sh, then run stuff like I normally would.
But they aren't the solution in this particular case of course as epy is a systemwide package, something like "pip3 install --break-system-packages --compile --user standard-imghdr" did the trick fixing epy for me.

Follow

@millihertz
When Void starts shipping this standard-imghdr thing we can remove it out of ${HOME}/.local/lib/python3.13/site-packages/ and use that instead.
If you are looking for alternatives to epy — check out bookworm, it's a pretty simple ebook reader, AFAIR it doesn't bring in too many dependencies if you already have GTK installed and it doesn't have this standard-imghdr problem.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml