Right, so we were looking for a solution to ship Python, but not using the 100MB heavy-weight approach. I wanted a clean way to name the mxCGIPython binaries, so wrote the platform module as a way to come up with a standardized name. People loved the idea and sent in lots of pre-compiled binaries for all kinds of platforms - covering most of the ones used by web hosters at the time.Īfter a few years, hosters finally caught on to also support Python as CGI platform and nowadays it’s normal to run complete web stacks using Python as implementation language.Īside: The platform module you find in the Python standard library was the result of this project. Since I did not have access to all the different web hosting platforms, I made the project open source. See the README of freeze to get an idea of how it works (or read the code, like I did at the time :-)). This worked, but did require some additional tweaks to actually make the setup work. Python came with a tool called freeze to create stand-alone binaries for applications, so I pointed freeze at the standard library to create such a binary. Next, I had to turn Python together with the standard library into a single binary. I ran some tests with simple executables and the idea actually worked pretty well. Of course, I wanted to use Python on the hosters, so I thought to myself: wouldn’t it be great to upload a single file to the hoster’s CGI directory and then have a shell script make this executable to use as basis for CGI scripting ?
At the time, web hosters only support FTP access and Perl/shell as CGI run-time. In the late 1990s, I had started a project called mxCGIPython.
#DOWNLOAD TURBO MAILER 2.7.10 CODE#
This may look nice from a marketing perspective (lots of code for the money), but it’s not really an ideal way of distributing products to customers. Now, shipping Python together with a product usually means shipping around 100MB worth of code. That way, we avoided the problem of having to adjust to all the differences found in Python installations across Linux distributions. Instead, we opted to shipping Python together with the product, as many companies do when distributing Python products. We had looked into distributing the code just as Python files running on OS provided Python run-times, but the many different Linux distributions and their Python variants quickly caused us to reconsider the approach. In 2008, eGenix started work on a product which has to run Python on Linux servers. So what is this “ one-file Python run-time” ?
Yesterday, we announced a new version of our open-source eGenix PyRun, the “one-file Python run-time”.