Can I somehow “compile” a python script to work on PC without Python installed?

Here is one way to do it (for Windows, using py2exe).

First, install the py2exe on your Windows box.

Then create a python script named compile.py, like this:

import sys
from distutils.core import setup
import py2exe

entry_point = sys.argv[1]
sys.argv.pop()
sys.argv.append('py2exe')
sys.argv.append('-q')

opts = {
    'py2exe': {
        'compressed': 1,
        'optimize': 2,
        'bundle_files': 1
    }
}

setup(console=[entry_point], options=opts, zipfile=None)

To compile your Python script into a Windows executable, run this script with your program as its argument:

$ python compile.py myscript.py

It will spit out a binary executable (EXE) with a Python interpreter compiled inside. You can then just distribute this executable file.

Leave a Comment