Cannot run a specific .pyc file

Lazykiddy picture Lazykiddy · Oct 20, 2012 · Viewed 25.6k times · Source

After compiling a in unix-working python file using

import py_compile
py_compile.compile('server.py')

I get the .pyc file in the same directory, but when I try to run this file using './server.pyc' in putty all I get is scrambled code as an output and nothing really happens.

So the question is, how to compile a .py file properly to a .pyc file and how to run this .pyc file?

ps: I did test compiling & running a basic script, which worked..

Answer

Dietrich Epp picture Dietrich Epp · Oct 20, 2012

Compiling a python file does not produce an executable, unlike C. You have to interpret the compiled Python code with the Python interpreter.

$ python
>>> import py_compile
>>> py_compile.compile('server.py')
>>> ^D
$ python ./server.pyc

The only change compiled Python code has is that it takes slightly less time to load. The Python interpreter already compiles code when it is loaded, and that doesn't take very long at all.