如何加载嵌入在带有ctypes的python包中的C动态库

如何加载嵌入在带有ctypes的python包中的C动态库,python,python-packaging,zipapp,Python,Python Packaging,Zipapp,我有一个python应用程序,它使用ctypes,加载并调用动态C库 我想用这个应用程序创建一个zipapp,但我不知道如何从应用程序中获取库的路径。目录树是: mypackage/ ├── __init__.py ├── __main__.py └── lib └── libmylyb.so 而\uuuu main\uuuuu.py是: #!/usr/bin/env python3 from ctypes import * h = cdll.LoadLibrary("./lib/li

我有一个python应用程序,它使用
ctypes
,加载并调用动态C库

我想用这个应用程序创建一个
zipapp
,但我不知道如何从应用程序中获取库的路径。目录树是:

mypackage/
├── __init__.py
├── __main__.py
└── lib
    └── libmylyb.so
\uuuu main\uuuuu.py
是:

#!/usr/bin/env python3
from ctypes import *
h = cdll.LoadLibrary("./lib/libmylib.so")
...
我通过以下操作创建zipapp:

python3 -m zipapp mypackage
但是当我试图执行它时,我得到了一个错误,因为上面的库没有找到

我知道
pkgutil.get_data
可以用来读取文件内容,我想我可以读取库二进制数据,将其写入临时文件并加载,但是有没有更好的方法来完成我想要的工作?