2017-04-14 7 views
0

小さなC/++プログラムでスレッドでいくつかのpythonスクリプトを実行したいが、これらのスクリプトを実行するにはPythonのバージョンが異なる必要がある。 python3で動作していないし、いくつかのパッケージはpython2で利用できません。1つのCプログラムでPythonスクリプトを実行する

#include <stdio.h> 
#include <python2.7/Python.h> 
#include <python3/Python.h> 

void main(int argc, char *argv[]) 
{ 
    FILE* file; 

    Py_SetProgramName(argv[0]); 
    Py_Initialize(); 
    PySys_SetArgv(argc, argv); 
    file = fopen("myscript.py","r"); 
    PyRun_SimpleFile(file, "myscript.py"); 
    Py_Finalize(); 

    return; 
} 

それとも

system ("python2.7 myscript1.py arg1 arg2"); 
system ("python3 myscript2.py arg1 arg2"); 

を経由して、あなたはどんなアイデアや私の問題を解決するための別の方法を持っていますか?

答えて

0

system()呼び出しを使用してPythonスクリプトを実行することはできますが、コマンドラインでpython実行可能ファイルのバージョンを指定する必要はありません。

シバンを使用できます。

python3#!/usr/bin/python2をpython2で実行するスクリプトで実行するスクリプトの最初の行に#!/usr/bin/python3を使用します。

ウィンドウで作業している場合は、python launcher

をご覧ください。
関連する問題