我正在构建一个特殊用途的嵌入式Python解释器,并希望避免依赖于动态库,因此我想用静态库编译解释器(例如,libc.a不是libc.so).
我还想静态链接属于Python标准库的所有动态库.我知道这可以使用Freeze.py,但有没有替代方案可以一步完成?
我正在尝试嵌入Python解释器,并且需要自定义Python标准库的加载方式。我们的库将从与可执行文件相同的目录加载,而不是从prefix / lib /加载。
我们已经成功地通过在调用Py_Initialize()之后手动修改sys.path来完成这项工作,但是,这会产生警告,因为Py_Initialize正在./lib/中寻找site.py,并且直到调用Py_Initialize之后它才存在。并且我们更新了sys.path。
Python c-api文档提示可以覆盖Py_GetPrefix()和Py_GetPath(),但没有给出具体说明。有谁知道我将如何覆盖它们?