我正在尝试嵌入 Python 解释器,需要自定义 Python 标准库的加载方式。我们的库将从与可执行文件相同的目录加载,而不是从 prefix/lib/。
我们通过在调用 Py_Initialize() 后手动修改 sys.path 成功地完成了这项工作,但是,这会产生一个警告,因为 Py_Initialize 正在 ./lib/中寻找 site.py,并且它直到 Py_Initialize 之后才出现已被调用,我们已更新 sys.path。
Python c-api 文档提示可以覆盖 Py_GetPrefix() 和 Py_GetPath(),但没有说明如何覆盖。有谁知道我将如何覆盖它们?
最佳答案
您可以设置 Py_NoSiteFlag = 1
,调用 PyInitialize
并根据需要自行导入 site.py。
关于c++ - 如何覆盖 Py_GetPrefix()、Py_GetPath()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1145932/