How to Embed a Python Interpreter in Your Website? – Be on the Right Side of Change (original) (raw)

Want to make your website more interactive? Embed a Python interpreter into your website!

Why?

Because an embedded Python interpreter not only increases the interactivity and usability of your website — and creates happy users for your web business. It also increases the average time spent on your website because people will try out things.

So it’s actually a good idea in terms of “search engine optimization” because Google and other search engines track the time spent on your site and use it as a ranking criterion.

How to Embed a Python Interpreter on Your Website?

Here’s a small visual guide on how to do this:

Do you want to develop the skills of a well-rounded Python professional—while getting paid in the process? Become a Python freelancer and order your book Leaving the Rat Race with Python on Amazon (Kindle/Print)!

Leaving the Rat Race with Python Book

Next, we’ll dive into more tools and more details to help you figure it out.

As you’re a Python coder, I’m sure you want to know about the technical details of embedding a Python interpreter on your website — how does it work? And where’s the code running? Can it crash your server? The answers to these questions are given below.

How Does an Embedded Python Interpreter Look Like?

Here’s an example of an embedded Python interpreter:

Try it yourself. You can modify the code in the embedded interpreter. Then, you can run and play around with the code. (Can you find the bug?)

How to Embed a Python Interpreter Like This in HTML?

The previous embedded Python interpreter was created with the awesome web service Trinket.io.

Simply follow the step-by-step guide to embed your own Trinket interpreter in WordPress or any other web framework that allows you to modify the HTML code.

How Does Embedding a Python Interpreter Work Technically?

The code execution actually happens on your user’s machine in JavaScript.

This may confuse you: it executes Python code in JavaScript? Exactly! The reason is that any browser can natively execute JavaScript (but not Python).

Also, this prevents users from running malicious code on your web server like the following:

import os os.system("rm -rf .")

If you would allow the user to run code on your web server, they can easily hack your server and remove all the data (or even send it to their own server).

Therefore, it is much more secure to run the Python code on your user’s machine using the powerful browser capabilities of running JavaScript code.

This way, malicious user Alice can neither hack your server through an attacking technique called cross-site scripting that allows her to execute code on your server nor can she perform a DDoS attack executing hundreds of thousands of dummy programs from hundreds of thousands of virtual machines she controls.

What Tools Exist to Embed Code Into Your HTML Website?

These are all the tools that allow you to embed code into your HTML website: 👇

You can also use other tools. One great tool which I just discovered is repl.it. Here’s what it looks like:

You can share the code snippet or embed it using an HTML iframe. Just copy&paste the embed code into your own website. It works just like Trinket.io.

Here’s one such embedded Python interpreter:

Another powerful tool to embed your own interpreter with pre-initialized code is Brython. Like the other tools, it’s entirely based on JavaScript so there’s no code being executed on your own server.

The best tool I found is createwithcode:

Where to Go From Here?

If you have a Python website, you better know how to write Pythonic code. Many trolls hate reading non-Pythonic code. They will come after you. 😉

So if you want to learn how to write Python code fast, download my Python cheat sheets. Thousands of people love these cheat sheets and have already downloaded, printed, and shared them!