libtcl8.5.so dependency in pypy3.8
The documentation says that pypy3 includes all dependencies it needs to run. However, when using pypy3.8-v7.3.7 on debian 11 one cannot import tkinter
as a required library is missing.
$ /opt/pypy3.8-v7.3.7-linux64/bin/pypy3
Python 3.8.12 (9ef55f6fc369, Oct 24 2021, 20:11:54)
[PyPy 7.3.7 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/tkinter/__init__.py", line 36, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
File "/opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/_tkinter/__init__.py", line 14, in <module>
from .tklib_cffi import ffi as tkffi, lib as tklib
ImportError: libtcl8.5.so: cannot open shared object file: No such file or directory
>>>>
ldd
confirms that.
$ ldd /opt/pypy3.8-v7.3.7-linux64/lib/pypy3.8/_tkinter/tklib_cffi.pypy38-pp73-x86_64-linux-gnu.so
linux-vdso.so.1 (0x00007fff017df000)
libtcl8.5.so => not found
libtk8.5.so => not found
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f31ab511000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f31ab34c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f31ab75b000)
on debian11 tcl/tk 8.5 is no longer available. In /opt/pypy... there is no libtcl*. Should pypy3 bring its own libtcl8.5.so
, should it use libtcl8.6.so
(most sensible nowadays?) or am I doing something wrong?
Note that using the pypy3 provided by debian 11 is unfortunately a no go, as it searches in /usr/lib/python3/dist-packages/
, which makes it totally unusable as most packages with native parts (such as pillow) don't work and nothing can be installed with pip as it claims something is already there. I have to install something hostwide for all users, thus venv
is also not a solution.