我想在带有小型C / ++程序的线程中运行一些python脚本,但是我需要不同的python版本来运行这些脚本,因为MySQLdb包在python3中不起作用而某些包不可用在python2中。
#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 :(得分:0)
您可以使用system()
调用来执行您的python脚本,但不需要在命令行上指定python可执行文件的版本。
你可以使用shebang。
使用#!/usr/bin/python3
作为您希望在使用python2运行的脚本中使用python3
和#!/usr/bin/python2
运行的脚本的第一行。
如果您正在使用Windows,请查看python launcher