Python script代码需要和很多种语言混用。其中C++就是相当多的一个,下面我们就来看看如何才能在C++中顺畅的使用Python script代码。希望大家能在本文中找到自己的答案。
想要在c++ 中嵌入Python script 代码, 除了自己写脚本引擎外, lua, python 都可以在c++ 中使用, 另外 MonoBind, AngelScript library 都是一些c++ script library, 可以嵌入到c++ 中使用 .
今天在c++ 中试着嵌入 Python script代码 (示例代码在 Python-2.5.2\Demo\embed\ 下)
#include
int main(int argc, char *argv[])
{
//Py_NoSiteFlag=1;
// Py_SetPythonHome("D:\\usr\\Python"); // PYTHONHOME
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print 'Today is',ctime(time())\n");
Py_Finalize();
return 0;
}
在运行时可能会产生类似 'import site' failed; use -v for traceback 的错误, 原因是python 在import module 的时候的路径问题. 有3种方法可以解决(以前通过设置环境变量 PYTHONPATH 好像在2.5 已经无效了).
0. 取消注释 Py_NoSiteFlag = 1;
这个只是取消import site , 当然如果在代码中要import 啥的话, 还是会出现错误的.
a. 设置环境变量 PYTHONHOME = D:\usr\Python
b. 在调用 Py_Initialize 之前调用函数
Py_SetPythonHome("D:\\usr\\Python"); // 参数是python 的安装目录
以上就是对Python script代码在C++中的使用方法。希望大家有所收获。
【编辑推荐】
【责任编辑:张浩 TEL:(010)68476606】
点赞 0