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