Nanobox is a development platform that was built to empower web developers, allowing them to focus on creating amazing apps without having to deal with configuration and distracting infrastructure details.
Our platform fully supports development with Python, one of the most popular programming languages in existence. We have created guides to get Python developers up and running with isolated Python development environments quickly.
- Creating a generic Python app
- Creating a Python app using the Django framework
- Creating a Python app using the Flask framework
Why Use Python for App Development?
The Python programming language has been around since the 1980’s. Its multi-paradigm support for object-oriented and structured programming makes Python a versatile language. According to the Tiobe index, Python ranks 4th, behind only Java, C, and C++ in popularity. With decades of use, the Python language has experienced enough use and iterations to support some of the most popular web apps in existence, including: YouTube, Dropbox, Quora, Instagram, Google, and lots of others.
If you’re not already using Python, or you’re in the process of determining whether Python is a good fit for your next software project, here are some reasons it might be the best fit:
- Python is flexible, having been created for general programming use as opposed to coming into existence to meet a specific need.
- Python has been battle-tested for decades, which makes it very robust.
- Python is easy to learn for beginners and has lots of education resources available.
Traditional Development Environments for Python
Normally, development with Python involves downloading and installing onto your development computer one of the many different versions of Python available. Based upon your project requirements, you determine which version of Python you will use (normally the latest for new projects) and which packages you need. If those packages aren't included with the default Python installation, you download and install those locally as well. You also work out any other dependency decisions, including things like data storage.
Once you've setup your local Python environment and begin coding, you can typically expect to spend some amount of your time handling configuration issues. If you work on a team, the amount of time spent with environment configuration and troubleshooting tends to compound.
If you're working on multiple Python projects, you're likely to see conflicts start to arise among your various project environments. Python has tools, including virtualenv, that allow developers to avoid environment conflicts and isolate their environments, but those tools have limitations.
The traditional method for setting up Python environments can be hard to keep organized, which can create cruft and even lead to technical debt.
Python Local Development Environment on Nanobox
Nanobox supports Python development on Linux, Mac, and Windows operating systems. When you install the Nanobox platform, you can simply follow the instructions for your operating system. One of the key benefits of Nanobox is that it keeps environments consistent, even among developers who are using differing operating systems.
Using the Nanobox platform for your local Python development environment makes you and other members of your development team more efficient at writing code in several ways, listed below.
What is Nanobox?
Instant, Isolated Development Environments
Using Nanobox, you define your application’s development environment using a simple
boxfile.yml config file. This config file allows you to make sure that you have a consistent development environment whether you’re working alone or with others on a team. Python developers using Nanobox don't have to rely upon virtualenv to isolate their environments. Instead each of those local environments is packaged by the Nanobox platform neatly into in its own containerized ecosphere.
Learn more about using Nanobox to create instant, isolated Python development environments.
Share Your Python Environment with Other Devs
If you’re working together with other developers, Nanobox makes it easy to share your Python development environment with your team, reducing environment troubleshooting overhead and eliminating the notorious statement, “Well, it works on my machine!”
Learn more about sharing your Python environment.
Turn Your Python Environment On/Off Per Your Needs
With Nanobox, you can turn off your local Python environment whenever you don't need it anymore. If the situation changes, you can simply turn the environment back on to continue working on a project.
Here's how the easy off/on works for Python environments.
Eliminate Dev-to-Production Environment Inconsistencies
When you use the Nanobox platform to develop a Python application, the environment you use locally is the exact same that will be used in production.
Learn more about how this works.
Setting Up Your Python Environment on Nanobox
We’ve made the process of setting up a local Python environment on Nanobox simple and straightforward. In fact, you don’t even have to install Python on your local machine, since Nanobox handles all of that for you.
This video walks you through the process of setting up a Python development environment on Nanobox:
To get started using Nanobox for developing with Python, follow one of our Python guides to get setup.
Going Beyond The Local Python Dev Environment
One of the reasons developers choose Nanobox to create their local Python dev environments is that they get automated devops functionality included. Nanobox dev environments can be used to publish apps to testing, staging, and production environments without having to research, learn, and troubleshoot Docker, Kubernetes, Vagrant, or any of those complicated devops tools.
Python applications are typically created just to stay in the local development environment. In addition to serving as a local environment, the Nanobox platform includes an automated deployment component that makes it easy to deploy your Python code to a production server.
Production App Management
Once your Python app is in production, Nanobox allows you to easily monitor, scale, and otherwise manage the app and its infrastructure using our suite of production management tools.
The Complete Dev-to-Production Workflow
Using Nanobox to create Python development environments gives you much more than just local development benefits. Python applications are obviously built for consumption, most often via the web.
Many development teams rely upon help from devops or similar personnel skilled in building out web infrastructure for Python apps. With
The following graphic shows how Nanobox compares against other platforms and tools that cover some portion of the dev-to-production workflow, including popular products like Kubernetes and Heroku. As you can see, the Nanobox platform covers the entire spectrum of the workflow, including creating development environments that can be used to deploy to the cloud, as well as providing monitoring, scaling, and other production tools to manage live apps.