Python Hosting

I would love to start learning python by setting up a little website, and for that I need hosting. What should I look for in a hosting provider to be sure I can use python?

EDIT: to be complete: I don't want a list of hosting companies, but I want to know what I should look for.

Of course I can take the first host which mentions 'Python' in its specs, but I want to be sure I can really use it, and not only the basic things... Problem is I don't know much about python, so it's difficult to know what I'm looking for...


Solution 1:

If you're looking for somewhere to host a site using a Python framework - Django, Pylons, Turbogears - you can't go wrong with Webfaction - they specialise in that sort of thing, and have one-click installers for all the major frameworks.

You don't get as much space/bandwidth as you would for the same money with Dreamhost, but for a small site that probably doesn't matter. And you do get excellent support.

Solution 2:

Here is what I would look for:

  • Linux server
  • Python pre-installed
  • Apache setup supporting all of the following:
    • mod_wsgi
    • cgi
    • mod_python
  • ssh access
  • Ability to install your own add-on libraries.

This will give you the freedom to experiment with multiple ways of building and deploying a website using python. You may have to go with a VPS to get all of this, but that's better for learning anyway. The more control you have, the more things you can break and learn how to fix. The ability to reload a good base image is also helpful when things get too screwed up in the learning process.

Solution 3:

Have you considered Google App Engine?

  • It's free for sites with low bandwidth usage.
  • Minimal setup required, so it's easy to get started.
  • As you advance, you can move to using some of the Django framework's functionality. Django is a popular platform for developing Python web apps.

The only caveat I can think of is that some of the lower level Python libraries are not supported, for security reasons.

Finally, Eucalyptus appears to be a portable solution to App Engine so you aren't tied in to Google's service should you want to migrate later. (ref)

Solution 4:

A (slightly biased and self-interested) post to recommend "Platform-as-a-Service" offerings, like:

  • Heroku the original Ruby PaaS, now support Python and many other languages
  • DotCloud who are behind the exciting Docker containerization thing
  • Gondor.io who are Python + WSGI focused
  • PythonAnywhere my employer, and the best of all, naturally.

All the PaaS offerings pitch the same broad idea: "You don't want to have to worry about server administration, security patches, scaling, load balancing, all that sysadmin stuff. Let us take care of that, and leave you to do the interesting work of building the best app for your users". Essentially, you trade off some of the flexibility you get from building and running your own servers, in exchange for saving lots of time and pain.

We like to think we make it the easiest of all, particularly for beginners. We aim to be really helpful with support requests, and we have a full browser-based IDE -- so you can actually do all your development via the site without having to install python locally, if you want to. But I'm in danger of drifting too far into marketing here, so i'll stop.

Hope it helps someone out there!