c++ - 为什么要在 Py_Initialize() 之前调用 PyImport_AppendInittab()?

标签 c++ python

根据documentation , PyImport_AppendInittab “应该在 Py_Initialize() 之前调用。”

没有解释为什么会这样,忽略此建议会产生一个有效的应用程序。那么,既然可以,那么在什么情况下会不行呢?

最佳答案

因为文档是这么说的;违反 API 可能会在今天产生一个可用的应用程序,但明天就不会。

您可能会遇到的几个问题:

  • sys.builtin_module_namesPy_Initialize 中初始化,因此它不会包含您的模块
  • PyImport_AppendInittab 不获取任何锁,因此如果您在多线程应用程序中的 Py_Initialize 之后调用它,您可能会遇到内存损坏

关于c++ - 为什么要在 Py_Initialize() 之前调用 PyImport_AppendInittab()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266103/

相关文章:

python - 如何在接受用户输入的同时读取 pandas read_csv 中带有转义字符的文件路径?

c++ - 用 C++ 编辑/etc/fstab 条目

Python - Beautiful Soup - 如何用不间断空格替换字符串?

c++ - OSX - 用通过 Homebrew 安装的 4.9 替换 gcc 版本 4.2.1

c++ - 最好情况,最坏情况,插入排序算法的随机数据输入?

python - 如何获取多对多字段的相关名称?

python - 为什么PyMySQL delete query执行但不删除记录而不会出错?

python - GeoDjango 查询 : all point that are contained into a multi polygon

c++ - 避免最烦人的解析

c++ - 指针大小和传递引用与传递指针