help! Troubled when embed python into C++

A. Cavallo a.cavallo at mailsnare.com
Sun May 24 08:05:30 EDT 2009


You need the:

int main(int argc, char * argv[])
{
    Py_Initialize();
    PySys_SetArgv(argc, argv);
    PyRun_SimpleString("execfile(r'1.py')");
    Py_Finalize();
    return 0;
}


Regards,
Antonio

On Sunday 24 May 2009 11:42:13 孟炜 wrote:
> I have the following codes in C++:
> #include <Python.h>
> void main(){
> Py_Initialize();
> PyRun_SimpleString("execfile(r'1.py')");
> Py_Finalize();
> return;
> }
>
> the following is in 1.py  :
> import Tkinter
> root=Tkinter.Tk()
> root2=Tkinter.Tk()
> root.mainloop()
> root2.mainloop()
>
> this is the output after I run the c++ program:
> Traceback (most recent call last):
>   File " <string>", line 1, in <module>
>   File "g:\volatile\1.py", line 2, in <module>
>     root=Tkinter.Tk()
>   File "C:\Python26\lib\lib-tk\Tkinter.py", line 1638, i
>     baseName = os.path.basename(sys.argv[0])
> AttributeError: 'module' object has no attribute 'argv'
>
> I am quite new to python ,anyone know what shoud i do to solve it?
> Thanks a lot!




More information about the Python-list mailing list