python - 是否可以在同一个可执行文件中嵌入 Python 2 和 Python 3 或在它们之间进行选择?
问题描述
我有以下情况
- Python 嵌入在 C++ 应用程序中。
- Python 2 和 3 API 之间的区别是使用宏来保护的(我检查了
PY_VERSION_MAJOR
) 使用 Python 脚本编写和生成一组 API,然后使用 Cython 编译成共享对象。
我注意到
python-config
生成针对主要和次要版本的链接器选项(例如-lpython2.7
)
我目前支持 Python 2 和 3 的方式是为每个版本生成不同的可执行和共享对象(c 扩展)。
有没有办法在同一个可执行文件中同时支持 Python 2 和 3 而无需提供可执行文件和共享对象的两个副本?
解决方案
推荐阅读
- sql - 在另一个存储过程中使用一个存储过程的结果 - SQL Server
- java - 父母的有效注释对孩子无效
- kotlin - 如何为 micronaut 中的所有控制器设置基本 URL?通过 application.yml 或任何配置
- python - 我的递归代码中的'Int object is not iterable error',不确定我哪里出错了
- php - 如何获取对 csv 文件的最后一次 fgetcsv 调用?
- c++ - 取消引用右值 shared_ptr
- node.js - 内存高效增长的 Nodejs Duplex/Transform 流
- javascript - 如何正确更新处于反应状态的对象或数组
- github - 从 PR 将 NuGet 包发布到 Azure Artifacts
- postgresql - 特性 `postgres::types::FromSql` 没有为 `bit_vec::BitVec` 实现