pyinstaller 二进制文件找不到库文件

问题描述

我有一个 python 程序,我正在将其转换为单个二进制文件,然后移动到不同的平台。当我运行二进制文件时,它抱怨缺少库。令人困惑的是它存在。如何修复此错误

二进制创建:

pyinstaller --hidden-import pyaudio --hidden-import wave --hidden-import Logger  --hidden-import json --hidden-import websockets --hidden-import asyncio --onefile Run_SD.py

运行二进制文件(在不同平台上):

/lib/libcrypto.so.1.1
/usr/lib/libcrypto.so.1.1
~$ ./Run_SD
[3656] Error loading Python lib '/tmp/_MEIgqfADy/libpython3.7m.so.1.0': dlopen: libcrypt.so.1: cannot open shared object file: No such file or directory

但图书馆在平台上:

/lib/libcrypto.so.1.1
/usr/lib/libcrypto.so.1.1

(在源平台上,它位于:/usr/lib/aarch64-linux-gnu/libcrypto.so.1.1)

解决方法

我找到了一个解决方案.. 不确定它是否正确,但它有效。 我将丢失的文件复制到源目录中,然后将 --add-binary libcrypt.so.1:. 添加到命令行,将文件包含到构建中,然后一切正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...