【Python】实现极致:克服PyInstaller打包挑战,解决libpython3.10.so.1.0库丢失难题
import os
import ctypes
import sys
def load_libpython():
# 获取Python库的基本名称
libname = ctypes.util.find_library('python3.10')
if not libname:
raise OSError("无法定位libpython3.10.so.1.0库")
# 加载Python库
ctypes.CDLL(libname, mode=ctypes.RTLD_GLOBAL)
def main():
try:
load_libpython()
print("Python库已加载")
except OSError as e:
print(e)
if __name__ == "__main__":
main()
这段代码首先尝试使用ctypes.util.find_library
来查找libpython3.10.so.1.0
文件的位置,如果找到了,就使用ctypes.CDLL
来加载这个库。如果库加载成功,它会打印一条消息表明库已被加载;如果遇到任何错误,它将捕获异常并打印错误信息。这是一个简化版本的代码,专注于加载Python共享库的核心功能。
评论已关闭