SlideShare uma empresa Scribd logo
1 de 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 !!!

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

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

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

Semelhante a 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
 

Mais de Talentica Software

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

Mais de 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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 !!!