Failed to load Python shared library '/tmp/_MEI2X206z/libpython3.10.so': cannot open shared object file: No such file or directory

Что значит эта ошибка и как её решить? Я создал исполняемый файл через pyinstaller, но при открытии возникает эта ошибка

glebh@glebh-VivoBook-ASUSLaptop-X513EAN-K513EA:~$ ./calc
[PYI-37255:ERROR] Failed to load Python shared library '/tmp/_MEI2X206z/libpython3.10.so': dlopen: /tmp/_MEI2X206z/libpython3.10.so: cannot open shared object file: No such file or directory

Я использовал эту команду:

pyinstaller -F --onefile --noupx calc.py

Если я буду использовать эту команду: pyinstaller -F --onefile --noupx "calc.py", то ошибка будет другая:

Traceback (most recent call last):
 File "PIL/ImageTk.py", line 65, in _pyimagingtkcall
_tkinter.TclError: invalid command name "PyImagingPhoto"

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "calc.py", line 25, in <module>
 File "pyglobus.py", line 110, in display_image
 File "PIL/ImageTk.py", line 129, in __init__
 File "PIL/ImageTk.py", line 183, in paste
 File "PIL/ImageTk.py", line 69, in _pyimagingtkcall
ModuleNotFoundError: No module named 'PIL._tkinter_finder'
[PYI-43454:ERROR] Failed to execute script 'calc' due to unhandled exception!

Ответы (1 шт):

Автор решения: Fox Fox
  • Установить Питон как следует.
  • Обновить все модули, включая pyinstaller.
  • Проверить проект на правильность связей с функциями и модулями.
  • Собрать правильно проект автономной сборки.
  • Проверить, работает ли Ваш проект в автономном режиме - не в оболочке, а прямо из под ОС в режиме .py.

Вот правильная команда для сборки в батнике в качестве примера:

pyinstaller -y --uac-admin --clean ^
--onedir --runtime-tmpdir="." --distpath="." --contents-directory="Runtimes" ^
--add-data=".\DB\rhymes.db;DB" ^
--add-data=".\HELP\rhymes.pdf;HELP" ^
--hide-console=hide-early --icon=..\IMAGES\app.png .\rhymes.py

pyinstaller работает, если всё сделано правильно. В Вашем случае разобраться невозможно, поскольку нет всех необходимых данных. Попробуйте собрать для начала что-то простое. Когда начнёт получаться, усложняйте. Никак по другому не будет.

→ Ссылка