Embedding Python: How to run compiled(*.pyc/*.pyo) files using Python C API?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Shankar

    #1

    Embedding Python: How to run compiled(*.pyc/*.pyo) files using Python C API?

    Hello,

    I am trying to run compiled Python files (*.pyc and *.pyo) using Python C
    API.

    I am using the method PyRun_FileFlags () for this purpose.

    The code snippet is as follows:-

    PyCompilerFlags myFlags;
    myFlags.cf_flag s=1; // I tried all values 0, 1 and 2
    PyRun_FileFlags (script, file, Py_file_input, globals, locals, &myFlags);

    But unfortunately I get the following exception:-
    "DeprecationWar ning: Non-ASCII character '\xf2' in file E:\test.pyc on line
    1, but no encoding declared; see http://www.python.org/peps/pep-0263.html
    for details"

    When I run the .py file, then things work fine.
    The .py file contains only one statement,
    print "Hello World"

    Which Python C API should I use to run compiled Python files(*.pyc and
    *.pyo) in the scenario where the source file (*.py) is not present.

    Thanks in advance,
    Regards,
    Shankar



  • Serge Orlov

    #2
    Re: Embedding Python: How to run compiled(*.pyc/*.pyo) files using Python C API?

    Shankar wrote:[color=blue]
    > Hello,
    >
    > I am trying to run compiled Python files (*.pyc and *.pyo) using Python C
    > API.
    >
    > I am using the method PyRun_FileFlags () for this purpose.
    >
    > The code snippet is as follows:-
    >
    > PyCompilerFlags myFlags;
    > myFlags.cf_flag s=1; // I tried all values 0, 1 and 2
    > PyRun_FileFlags (script, file, Py_file_input, globals, locals, &myFlags);
    >
    > But unfortunately I get the following exception:-
    > "DeprecationWar ning: Non-ASCII character '\xf2' in file E:\test.pyc on line
    > 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html
    > for details"[/color]

    Note, it's not an exception, it's a warning.
    [color=blue]
    >
    > When I run the .py file, then things work fine.
    > The .py file contains only one statement,
    > print "Hello World"
    >
    > Which Python C API should I use to run compiled Python files(*.pyc and
    > *.pyo) in the scenario where the source file (*.py) is not present.[/color]

    I believe it's PyImport_Import Module("test")

    Comment

    Working...