Python script代码在C++中的使用方法


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\ 下)

  1. #include <Python.h> 
  2. int main(int argc, char *argv[])  
  3. {  
  4. // Py_NoSiteFlag = 1;  
  5. // Py_SetPythonHome("D:\\usr\\Python"); // PYTHONHOME  
  6. Py_Initialize();  
  7. PyRun_SimpleString("from time import time,ctime\n"  
  8. "print 'Today is',ctime(time())\n");  
  9. Py_Finalize();  
  10. 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++中的使用方法。希望大家有所收获。

相关内容

    暂无相关文章

评论关闭