Python Hosting: Compare Hosting
Oops! No Hosting Plans Match Your Search
You've selected a combination of features that none of the web hosts we profile offer. We suggest you remove your last filter or reset & start again.
Ask Our Experts
Need help with your hosting? Tell us exactly what you are looking for and we’ll do our very best to help. Please allow one working day for a response.
Please fill in all fields.
Thanks! Your request has been sent. We'll reply within 24 hours.
Recommended Host for Python
What is Python?
Python is a programming language devised in the late 1980s. Now on version 3, it’s still popular with programmers. Named after Monty Python’s Flying Circus, a 1970s BBC TV comedy series, Python’s creators designed the language to be enjoyable for programmers to use. The variables ‘foo’ and ‘bar’ are often used in documentation of programming languages, but in Python, the same demonstrations are generally written with variables named ‘spam’, ‘ham’ and ‘eggs’.
Python is ideal for those who like to mix an object-oriented approach with structured programming. It’s also designed to be easily read and understood by novices thanks to a very simple stylistic form and grammar. The code is intentionally written very clearly and concisely and is easy for inexperienced programmers to review and change. Where many languages use punctuation, Python leans towards using English words, making it visually less cluttered. It is also clearly indented when written to make the code easy to scan.
Python’s functionality can be extended with add-on functions written in C or C+, and it can also be used as a command language with C. Code can also be run from within a Java application, allowing Java variables to be called from within Python and re-used.
Compared to languages that appear impenetrable to the novice, Python is considered to be easier to learn, and its cross-platform compatibility is one of its major benefits. It can be coded in the Terminal app on Mac OS X, but is also often used for security applications, or web applications running on a Unix or Linux server. The language is employed by YouTube, Google and NASA, as well as CERN, the home of the Large Hadron Collider. CERN use Python to decode data from Atlas, one of the LHC sensors. The staff also host Python conferences and uses Python extensively in their physics and computing labs
Python is well established
If you’re venturing into coding with Python for the first time, there is a wealth of support available. Python is used by some of the biggest sites on the internet, despite having a reputation for being ‘slow’ compared to other languages, and there are numerous web resources, tutorials and books which will get you started quickly.
There are lots of options if you’re looking for Python hosting, but some care is needed. Make sure you select the right plan and really drill into the details of your preferred host’s Python offering before you sign up to a long-term hosting commitment.
Python is ideal for web apps
Python is so adaptable, there aren’t many limits to what it can do. It’s ideal for web development because it’s quick to write yet can be used in advanced, sophisticated applications. All kinds of companies, from Bittorrent to YouTube, have used (or currently use) Python, and it plays a part in processing some of the most cutting-edge scientific data on Earth at NASA and CERN. Its versatility and simplicity make it an ideal choice for web apps as well.
If you’re new to running Python on the web, you might want to check that your host offers Python tech support for free - just in case you need a hand getting things set up in the beginning.
Warning: some hosts don’t offer Python
Naturally, you should ensure that Python is installed on your chosen web host’s server before you sign up: some hosts, particularly those who offer shared hosting, don’t offer it at all. That’s usually because inexperienced programmers can slow an entire server by coding inefficiently, bringing down other customers’ sites in the process. Malicious programmers could cause problems in a shared environment since mod_python isn’t locked down as tightly as mod_php on Apache.
Check for available frameworks, and ascertain the version of Python and mod_python the host is running: Python 2 and Python 3 are quite different, and you may find the version your host has is not entirely backward-compatible.
Python has pre-requisites
Check the interpreter that your host is using and make sure it’s suitable for your needs. Some interpreters are out-dated, and requests for an upgrade may fall on deaf ears. Ensure you have shell access and that the Apache installation supports CGI and mod_wsgi.
It’s also worth checking the host’s policy on Python modules. Some hosts are happy to install whatever you need, and will do so relatively quickly - for example, within 24 hours. Other hosts may have policies around which modules they will allow, and they will refuse to install anything that’s unproven or untested.
Also, check that your host will allow you to run persistent processes (sometimes called ‘long-running processes), particularly if you have your heart set on a cheaper plan, such as a shared hosting plan. Many hosts don’t because these processes are, by nature, resource hogs. If you need to run persistent processes, you may be best off investing in a virtual private server (VPS) instead, or bite the bullet and get a dedicate server - an expensive option, but one which will allow you to code whatever you like, however you like. Be wary of this option if you don’t want to spend time fixing things on your server that you accidentally break along the way.
If you want to exclusively code in Python or base a large amount of your coding around it, it’s best to personally email the host before signing up to a contract. They may have a special plan for Python at a reasonable cost that gives you more freedom and flexibility.
Pros and Cons
Python is used by all kinds of companies and organisations, including Google, NASA and CERN. The Large Hadron Collider (LHC) decodes its critical ATLAS data using Python. It's also great for websites because:
- It supports HTTP and MIME out of the box
- Extensions can be coded in C or C++
- Python can be run from Java applications
- Programmers can easily connect to databases to bring content into their projects
- There are tens of thousands of pre-made, freely available packages to speed up development and potentially cut costs
The main problems with Python are:
- It's difficult to spot mistakes until it's time to run the code, which makes debugging cumbersome
- It can be slow, so you'll need a speedy host to compensate
- Unless you're an experienced developer, learning Python solo is a challenge. There's plenty of support, but filtering it takes time
- Hosts that have Python installed may not be able to help you if you run into a technical problem
- Few hosts will provide Python support on a shared hosting plan, so it's not a cheap undertaking
Choosing a Host
The best option for Python is a dedicated server. While it's an expensive option, a dedicated server comes more or less without limitations, so you can take control of your Python install. If you don't want to go dedicated, you would be best off with a Virtual Private Server (VPS), rather than a shared hosting plan. In fact, most hosts won't support Python on shared hosting, since it's too easy for inexperienced coders to bring a server down unwittingly.
When choosing a web host for Python:
- Make sure that your chosen package has Python support in the specs. Not all hosts install it
- Check the interpreter version, since a host may be reluctant to update an old interpreter if there's little demand
- Ascertain which modules are installed, and what the policy is regarding new modules. Some hosts are keen to add new modules on request, and will respond quickly. Others may take days or weeks, or refuse to add them at all
- Make sure your host will allow you to run persistent processes; on shared hosting, this is unlikely
- Check that you have shell access
If you plan to spend a lot of time working with Python, look for a host that specializes in it, rather than going for the cheapest host and hoping for the best. In the long run, you'll find it's far easier to pay slightly more for a host that's supportive and keeps their Python install up to date.
Additionally, the host will expect you to run persistent processes and won't penalise you for it. Use the host's email support or Live Chat to ask them about Python before committing yourself to a monthly spend.
Python Hosting Frequently Asked Questions
What is Python?
Python is a Free and Open Source interpreted programming language.
What do you mean Python is Free?
You can use it without paying for it. Also, you can use it any way that you want to. Free in terms of cost, and free in terms of rights.
What do you mean that Python is Open Source?
The language specification and the interpreter that runs Python programs are both developed publicly by a community of developers. All of the source code can be inspected, copied, or altered.
Is Python a web development language?
Not specifically. It can be used for running apps natively, and was originally designed to help with system administration tasks. However, it absolutely can be used to build websites and web applications.
Are there any web development frameworks for Python?
Yes. The most popular Python web application framework is Django. There are a number of others, including Flask, Pyramid, and CubicWeb.
Is Python popular?
Yes. Though it is not as popular as PHP, it is used by tens of thousands of developers around the world. There’s even a benefit to it being a bit less popular than PHP: Python developers tend to be better at programming than those who only know PHP.
Is Python stable and reliable?
Yes. Python has been around since 1991, and a stable releases comes out about every 18 months.
I want to build a new web app, but I don’t know how to code. Should I learn Python?
Maybe, but probably not. Depending on the specific needs of your application, it may be much easier to build it as a plugin to a PHP-based content management system like WordPress or Drupal. Another alternative might be Ruby on Rails, which offers a lot of abstraction and makes it easy to get a new app up and running, even with minimal programming skill. Moreover, if you aren’t interested in learning to program for its own sake, you might just be better off hiring someone.
I’d like to learn how to program. Is Python a good choice for a beginner?
Yes. Python is already included in Linux and Mac distributions, so you might have easy access to it already — and it isn’t hard to install. It is powerful enough that you can do almost anything you’d like to do with an application, but the syntax is relatively easy. Unlike PHP, it works well for system administration tasks, so you can use it to write little scripts to do things you currently have to do manually (like batch file conversion, for example), which provides a lot of incentives and opportunity to learn. Python also includes a built-in web-server, so you can use it to run a web app locally as you are developing it, which is much easier than having to get Apache (or another web server) up and running on your machine.
What do I need to know about Python and web hosting?
If you are developing a web application, or plan to use an existing web application, that is written in Python, it’s important that your web hosting plan supports Python. This is not nearly as widespread as PHP support, so you should make it a point to look into this. You should also know that there are two stable versions of Python right now: v2 and v3. They are not fully compatible, so you have to make sure that the version you need is on the server you will be using. If you are developing a new app, make sure you have the same version on your development machine and your production server. Additionally, there are modules and libraries that may need to be compiled with Python. If the application you are writing or using requires these, make sure your web hosting account supports them.
What are some alternatives to Python?
For writing web applications, the two most popular alternatives are PHP and Ruby. For desktop utility scripting, Ruby is popular there as well, as is Perl and the less fun but more basic Bash.
Python vs. Ruby. Which is better?
That probably depends on what you are trying to accomplish and your personality. If you are just jumping into web development and have a desire to build something specific, Ruby (with Rails) is probably a better place to start (although PHP might be an even easier place to start). If you are interested in learning about programming generally and want to tinker with scripts on your own computer, Python might be the best way to go.
Python vs. PHP? Which is better?
Python. But it might not be the right choice for you and your application. Python is (according to most commentators) better designed than PHP as a language. (As is Ruby. This mostly has to do with the fact that many people think PHP is poorly designed.) Despite (or maybe because of) the shortcomings of PHP, it is much more popular than Python, and many people find it easier to use — especially people who don’t really understand programming very well. Moreover, because of the number of frameworks available for PHP (Laravel, CodeIgniter, Zend) and the fact that you can build fairly serious web applications on top of PHP-based content management systems (like WordPress, Joomla, and Drupal), it may be better to get started with PHP. But if you have a good knack for logic and math, are comfortable(ish) at the command line, and want to learn how serious programmers think, Python is a better choice.