SlideShare a Scribd company logo
1 of 9
SETTING UP DEVELOPMENT ENVIRONMENT
FOR GOOGLE APP ENGINE AND PYTHON
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
• Introduction
• Installing GAE SDK
• Make Autocomplete Work For GAE SDK In Pycharm
• Scaffolding Basic GAE App
• Enable Debugging
INDEX
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
INTRODUCTION
• Google App Engine is a PAAS offering from Google Cloud Platform, which enables
you to build complex web solutions with significant ease without worrying too
much about the scalability or infrastructure management
• If you want to develop GAE applications using python and looking for a way to
setup your development environment then this post is for you
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
• This is the easiest part, I am using the windows machine, so I
can simply grab the installer from this link and then install it
following the installation wizard like you have done million
times already
• PyCharm community edition does not come with GAE
support out of the box, so you need to make changes here
and there to make it work for you
INSTALLING GAE SDK
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
MAKE AUTOCOMPLETE WORK FOR
GAE SDK IN PYCHARM
• Typically when you start building an application in python, you start with setting up a virtual environment,
however when you are building GAE application, setting up virtual environment seems an overkill to me, since
GAE in itself works like a container and ensures isolation
• You can also not install GAE packages using pip since those get installed in your machine when you install
SDK
• The most straightforward way to make GAE packages available to PyCharm is, by setting a hard symlink from
GAE packages directory to python site packages directory
To do this you need to open command prompt in elevated access mode (run as admin) and execute following
commands:
mklink /J "C:Python27Libsite-packagesgoogle" "C:Program Files
(x86)Googlegoogle_appenginegoogle"
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
• GAE application needs a few config files in order to get insights about your
project and configure it during deployment in GAE
• You can very well create these files manually following the GAE documentation,
but I find this easier to generate a basic project structure using Google App
Engine Launcher, which gets installed with GAE SDK
• Open the GAE Launcher, go to File->Create New Application, enter application
name and create the application. Do not run the application from GAE launcher,
we were only interested in the generated files
• Now go to the root directory of the generated application, change the name to
whatever you want to name your project and open this directory in PyCharm
SCAFFOLDING BASIC GAE APP
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
In order to debug you GAE application, you need to perform following
steps:
• Go to Run -> Edit Configurations
• Click on the + symbol to add new configuration and select Python
• Enter a name which you can remember like “Execute_GAE”
• In the Script section enter C:Program Files
(x86)Googlegoogle_appenginedev_appserver.py, change the path to point to your
machines GAE installation path
• In the Script parameters section enter --automatic_restart=no --
max_module_instances="default:1"
• In the Working directory section enter the path of the root directory of your project(the
one with the app.yaml in it)
• Tick the share checkbox, it will create a idea configuration file in .idea directory
• Ensure that under File -> Settings -> Build, Execution, Deployment -> Python Debugger
you have Attach to subprocess automatically while debugging option enabled
ENABLE DEBUGGING
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
CASE STUDIES & BLOGS
Read here Read here
BLOGCASE-STUDY
Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved.
CONCLUSION
Click here to know more about Talentia work or visit:
ww.talentica.com
Or call us at: +91 20 4660 4000
Thank You !!!

More Related Content

What's hot

What's hot (20)

Angular 2 for Java Developers
Angular 2 for Java DevelopersAngular 2 for Java Developers
Angular 2 for Java Developers
 
Using JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot appsUsing JHipster 4 for generating Angular/Spring Boot apps
Using JHipster 4 for generating Angular/Spring Boot apps
 
Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?Spring Cloud: Why? How? What?
Spring Cloud: Why? How? What?
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECSContinuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
IBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClassIBM Think Session 8598 Domino and JavaScript Development MasterClass
IBM Think Session 8598 Domino and JavaScript Development MasterClass
 
React.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOMReact.js - The Dawn of Virtual DOM
React.js - The Dawn of Virtual DOM
 
Continuous Testing using Shippable and Docker
Continuous Testing using Shippable and DockerContinuous Testing using Shippable and Docker
Continuous Testing using Shippable and Docker
 
Practical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version AppPractical Patterns for Developing a Cross-product Cross-version App
Practical Patterns for Developing a Cross-product Cross-version App
 
Going Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemGoing Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework Ecosystem
 
Connecting Connect with Spring Boot
Connecting Connect with Spring BootConnecting Connect with Spring Boot
Connecting Connect with Spring Boot
 
React native
React nativeReact native
React native
 
IBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDKIBM Think Session 3249 Watson Work Services Java SDK
IBM Think Session 3249 Watson Work Services Java SDK
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 
Spring boot - an introduction
Spring boot - an introductionSpring boot - an introduction
Spring boot - an introduction
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
 
Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1Using CI for continuous delivery Part 1
Using CI for continuous delivery Part 1
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Serverless Architecture - A Gentle Overview
Serverless Architecture - A Gentle OverviewServerless Architecture - A Gentle Overview
Serverless Architecture - A Gentle Overview
 
React Native - Getting Started
React Native - Getting StartedReact Native - Getting Started
React Native - Getting Started
 
Spring boot
Spring bootSpring boot
Spring boot
 

Similar to Setting Up Development Environment For Google App Engine & Python | Talentica

Django Article V0
Django Article V0Django Article V0
Django Article V0
Udi Bauman
 

Similar to Setting Up Development Environment For Google App Engine & Python | Talentica (20)

Google App Engine (Introduction)
Google App Engine (Introduction)Google App Engine (Introduction)
Google App Engine (Introduction)
 
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
MuleSoft Nashik Virtual Meetup#4 - Implementing CI/CD pipeline for deploying ...
 
Django Article V0
Django Article V0Django Article V0
Django Article V0
 
Google App Engine tutorial
Google App Engine tutorialGoogle App Engine tutorial
Google App Engine tutorial
 
Google Cloud Platform
Google Cloud Platform Google Cloud Platform
Google Cloud Platform
 
appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)appengine ja night #25 Google App Engine for PHP (English)
appengine ja night #25 Google App Engine for PHP (English)
 
Gradle,the new build system for android
Gradle,the new build system for androidGradle,the new build system for android
Gradle,the new build system for android
 
Google Apps Script Overview
Google Apps Script OverviewGoogle Apps Script Overview
Google Apps Script Overview
 
Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)Go on GAE (Go Israel Meetup)
Go on GAE (Go Israel Meetup)
 
Google Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG BelgaumGoogle Cloud Developer Challenge - GDG Belgaum
Google Cloud Developer Challenge - GDG Belgaum
 
Google App Engine for PHP
Google App Engine for PHP Google App Engine for PHP
Google App Engine for PHP
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
Infinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App EngineInfinite Scale - Introduction to Google App Engine
Infinite Scale - Introduction to Google App Engine
 
Self Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository ManagersSelf Hosted Web-based GIT Repository Managers
Self Hosted Web-based GIT Repository Managers
 
Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史Google App Engine (GAE) 演進史
Google App Engine (GAE) 演進史
 
Google app engine (gae) 演進史
Google app engine (gae) 演進史Google app engine (gae) 演進史
Google app engine (gae) 演進史
 
Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...Introduction to cloud-native application development: with Heroku and Spring ...
Introduction to cloud-native application development: with Heroku and Spring ...
 
Appengine json
Appengine jsonAppengine json
Appengine json
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Slim3 quick start
Slim3 quick startSlim3 quick start
Slim3 quick start
 

More from Talentica Software

Android Media Player Development
Android Media Player DevelopmentAndroid Media Player Development
Android Media Player Development
Talentica Software
 

More from Talentica Software (19)

Typescript: Beginner to Advanced
Typescript: Beginner to AdvancedTypescript: Beginner to Advanced
Typescript: Beginner to Advanced
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Remix
RemixRemix
Remix
 
Web Performance & Latest in React
Web Performance & Latest in ReactWeb Performance & Latest in React
Web Performance & Latest in React
 
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design Pattern
 
Node.js Chapter1
Node.js Chapter1Node.js Chapter1
Node.js Chapter1
 
Micro Frontends
Micro FrontendsMicro Frontends
Micro Frontends
 
Advanced JavaScript
Advanced JavaScriptAdvanced JavaScript
Advanced JavaScript
 
Connected World in android - Local data sharing and service discovery
Connected World in android - Local data sharing and service discoveryConnected World in android - Local data sharing and service discovery
Connected World in android - Local data sharing and service discovery
 
Mobile App Monetization - Ecosystem & Emerging Trends
Mobile App Monetization - Ecosystem & Emerging TrendsMobile App Monetization - Ecosystem & Emerging Trends
Mobile App Monetization - Ecosystem & Emerging Trends
 
Android Media Player Development
Android Media Player DevelopmentAndroid Media Player Development
Android Media Player Development
 
Cross Platform Mobile Technologies
Cross Platform Mobile TechnologiesCross Platform Mobile Technologies
Cross Platform Mobile Technologies
 
Big Data Technologies - Hadoop
Big Data Technologies - HadoopBig Data Technologies - Hadoop
Big Data Technologies - Hadoop
 
Big Data – Are You Ready?
Big Data – Are You Ready?Big Data – Are You Ready?
Big Data – Are You Ready?
 
Legacy modernization
Legacy modernizationLegacy modernization
Legacy modernization
 
Continous Integration: A Case Study
Continous Integration: A Case StudyContinous Integration: A Case Study
Continous Integration: A Case Study
 
Technology Challenges in Building New Media Applications
Technology Challenges in Building New Media ApplicationsTechnology Challenges in Building New Media Applications
Technology Challenges in Building New Media Applications
 
Flex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application DevelopmentFlex on Grails - Rich Internet Applications With Rapid Application Development
Flex on Grails - Rich Internet Applications With Rapid Application Development
 
Building scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thriftBuilding scalable and language independent java services using apache thrift
Building scalable and language independent java services using apache thrift
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 

Setting Up Development Environment For Google App Engine & Python | Talentica

  • 1. SETTING UP DEVELOPMENT ENVIRONMENT FOR GOOGLE APP ENGINE AND PYTHON
  • 2. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. • Introduction • Installing GAE SDK • Make Autocomplete Work For GAE SDK In Pycharm • Scaffolding Basic GAE App • Enable Debugging INDEX
  • 3. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. INTRODUCTION • Google App Engine is a PAAS offering from Google Cloud Platform, which enables you to build complex web solutions with significant ease without worrying too much about the scalability or infrastructure management • If you want to develop GAE applications using python and looking for a way to setup your development environment then this post is for you
  • 4. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. • This is the easiest part, I am using the windows machine, so I can simply grab the installer from this link and then install it following the installation wizard like you have done million times already • PyCharm community edition does not come with GAE support out of the box, so you need to make changes here and there to make it work for you INSTALLING GAE SDK
  • 5. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. MAKE AUTOCOMPLETE WORK FOR GAE SDK IN PYCHARM • Typically when you start building an application in python, you start with setting up a virtual environment, however when you are building GAE application, setting up virtual environment seems an overkill to me, since GAE in itself works like a container and ensures isolation • You can also not install GAE packages using pip since those get installed in your machine when you install SDK • The most straightforward way to make GAE packages available to PyCharm is, by setting a hard symlink from GAE packages directory to python site packages directory To do this you need to open command prompt in elevated access mode (run as admin) and execute following commands: mklink /J "C:Python27Libsite-packagesgoogle" "C:Program Files (x86)Googlegoogle_appenginegoogle"
  • 6. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. • GAE application needs a few config files in order to get insights about your project and configure it during deployment in GAE • You can very well create these files manually following the GAE documentation, but I find this easier to generate a basic project structure using Google App Engine Launcher, which gets installed with GAE SDK • Open the GAE Launcher, go to File->Create New Application, enter application name and create the application. Do not run the application from GAE launcher, we were only interested in the generated files • Now go to the root directory of the generated application, change the name to whatever you want to name your project and open this directory in PyCharm SCAFFOLDING BASIC GAE APP
  • 7. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. In order to debug you GAE application, you need to perform following steps: • Go to Run -> Edit Configurations • Click on the + symbol to add new configuration and select Python • Enter a name which you can remember like “Execute_GAE” • In the Script section enter C:Program Files (x86)Googlegoogle_appenginedev_appserver.py, change the path to point to your machines GAE installation path • In the Script parameters section enter --automatic_restart=no -- max_module_instances="default:1" • In the Working directory section enter the path of the root directory of your project(the one with the app.yaml in it) • Tick the share checkbox, it will create a idea configuration file in .idea directory • Ensure that under File -> Settings -> Build, Execution, Deployment -> Python Debugger you have Attach to subprocess automatically while debugging option enabled ENABLE DEBUGGING
  • 8. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. CASE STUDIES & BLOGS Read here Read here BLOGCASE-STUDY
  • 9. Copyright © 2018 Talentica Software (I) Pvt Ltd. All rights reserved. CONCLUSION Click here to know more about Talentia work or visit: ww.talentica.com Or call us at: +91 20 4660 4000 Thank You !!!