c++ - 如何覆盖 Py_GetPrefix()、Py_GetPath()?

标签 c++ python api

我正在尝试嵌入 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/

相关文章:

c++ - 在 Visual Studio 2010 的 C++ 中使用 lapack C header 的错误

c++ - 在线程上设置超时的任何体面的方法?

python - Requirements.txt 对弹性 beanstalk 上的 conda/pip 无效

api - 如何从Token获取Google用户信息

c++ - 计算第 n 个不包含给定数字的数字的程序

c++ - 将十六进制转储值作为字符串传递

python - 在 Django 的过滤器查询中使用 lambda

python - 从Python中的函数创建一个新对象

api - BigCommerce 添加产品到购物车 API

python - 如何提取值(value)