是否可以在没有标准库的情况下嵌入 python?
我正在使用python 2.7.6 的 cmake 构建,并且运行了一个基本的嵌入式脚本,如下所示:
#include <stdio.h>
#include <Python.h>
int main(int argc, char *argv[]) {
/* Setup */
Py_SetProgramName(argv[0]);
Py_Initialize();
/* Run the 'main' module */
int rtn = Py_Main(argc, _argv);
Py_Finalize();
return rtn;
}
..但是当我运行它时,我得到:
ImportError: No module named site
如果我设置了正确的 $PYTHONHOME,它可以正常工作;但这不是我想要做的。我正在尝试将 python 的副本嵌入到没有标准库的独立应用程序中。
我很欣赏它的使用,但是对于这个特定的嵌入式环境,我想要更像 lua 的东西(但显然使用 python 语法),其中只有父应用程序公开的特定库可用。
这有一个额外的好处,即不关心分发(或构建)标准库及其所有交叉链接的动态库。
这可能吗?还是我不可避免地会偶然发现缺少标准库中的 sys.path、import、{}、[] 或类似语言的基本块?
如果有可能,你会怎么做?