Ubuntu

Ubuntu is a Debian Linux-based operating system distribution often used for Python development and web application deployment.

Official Ubuntu logo. Copyright Canonical Ltd.

Why is Ubuntu important for Python?

Ubuntu is one of the most commonly used Linux distributions for both local development and server deployments. Some platforms-as-a-service such as Heroku run Ubuntu as the base operating system, so as a Python developer you'll often have to work with Ubuntu or a similar Debian-based Linux operating system.

Ubuntu is an implementation of the operating systems concept. Learn more in the deployment chapter or view the table of contents for all topics.

What does "LTS" mean for Ubuntu?

Every two years Ubuntu releases a Long-Term Support (LTS) version that receives five years of updates instead of only two years for non-LTS releases. However, there are some issues with the current LTS model, in that you must only use packages from the main repository unless you're going to manually handle security updates for non-main repository system packages.

Additional Ubuntu resources

After setting up your OS you should configure a web server.

Which web server should I use?

How should Python libraries be installed on a server?

How do I use a platform-as-a-service to deploy my Python app?

Sign up for two emails per month with Python tutorials and Full Stack Python updates.

Full Stack Python

Full Stack Python is an open book that explains concepts in plain language and provides helpful resources for those topics.
Updates via newsletter, Twitter & Facebook.
1. IntroductionLearning ProgrammingWhy Use Python?Python 2 or 3?Enterprise PythonPython CommunityCompanies using PythonBest Python ResourcesBest Python VideosBest Python Podcasts2. Development EnvironmentsText Editors & IDEsVimEmacsSublime TextPyCharmJupyter NotebookBash shellShellsZshPowerShellTerminal MultiplexerstmuxScreenPymuxEnvironment configurationApplication DependenciesSource ControlGitMercurialApache SubversionHosted Source ControlGitHubBitBucketGitLab3. Core LanguageGeneratorsComprehensions4. TestingUnit TestingIntegration TestingCode MetricsDebuggingLoggingMarkdown6. Security7. Web DevelopmentWeb FrameworksDjangoFlaskBottlePyramidFalconMorepathSanicOther Web FrameworksTemplate EnginesJinja2MakoDjango TemplatesWeb DesignHTMLCascading Style Sheets (CSS)Responsive DesignMinificationCSS FrameworksBootstrapJavaScriptTask QueuesCeleryRedis Queue (RQ)DramatiqStatic Site GeneratorsPelicanLektorMkDocsWebSocketsuvloop8. DeploymentServersStatic ContentPlatform-as-a-ServiceVirtual Private ServersOperating SystemsUbuntuWeb ServersApache HTTP ServerNginxCaddyWSGI ServersGreen Unicorn (Gunicorn)Continuous IntegrationJenkinsConfiguration ManagementAnsibleDockerServerlessAWS LambdaGoogle Cloud Functions9. DataRelational DatabasesPostgreSQLMySQLSQLiteObject-relational MappersSQLAlchemyPeeweeDjango ORMSQLObjectPony ORMNoSQL Data StoresRedisMongoDBApache CassandraNeo4jData analysispandasBokehd3.jsMatplotlib10. Web APIsMicroservicesBotsAPI CreationAPI IntegrationTwilio11. DevOpsMonitoringCachingRollbarWeb Analytics12. Change LogWhat Full Stack MeansAbout the AuthorFuture DirectionsPage Statuses ...or view all topics.

Matt Makai 2012-2018