How to compile a python file?

I have started learning python and I'm also a new user to Ubuntu. I need to know the ways of compiling the .py files. I have tried with the command

python "hello.py"

What are the other ways of compiling python?


Solution 1:

Adding to Bryan's answer, if you simply want to compile a file or a bunch of files from a terminal, the py_compile module can be executed as a script in the following manner:

python -m py_compile fileA.py fileB.py fileC.py ...

Solution 2:

Also be aware that you don't need to compile a .py file to run it. Python is an interpreted language, and you can run the scripts directly, either using:

python hello.py

Or make your script executable by adding #!/usr/bin/env python to the top of the script, making the file executable with chmod +x hello.py and then running:

./hello.py

The fact that Python internally compiles your .py script to bytecode .pyc files for performance reasons is an implementation detail, and unless you have a strong reason to do so, let python itself decide when and if to compile.

Solution 3:

You may also try compileall:

python -m compileall ./

Solution 4:

Check out this link Compile in Python

In the middle of the page, it talks about the py_compile module that can be imported. The syntax is as follows:

import py_compile

py_compile.compile("file.py")

This method of compiling will not execute the module either like running python file.py.

There is also a method that compiles an entire directory tree but I'll let you check out the link to see how that is executed.

Hope this helps.

Solution 5:

You can compile Python scripts to a binary code using various methods, but I have found out that using Nuitka is more efficient.

Nuitka is a Python-to-C++ compiler that supports almost all versions of python.

The command syntax is as easy as

nuitka hello.py

Goto http://nuitka.net/doc/user-manual.html for more information.