Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Python Environment | Development and Production

Python Environment | Development and Production

First DurianPy (Davao Python) Meetup. Sharing experience with Technology Stack how we compare and Integrate with other Programming Languages. Development and Production Environment Best Practices.

Avatar for Nathaniel Varona

Nathaniel Varona

March 15, 2014
Tweet

More Decks by Nathaniel Varona

Other Decks in Programming

Transcript

  1. Topics 1. Programming Language Equivalence 2. OS Platform and Development

    Environment 3. Compare Development and Production Environment 4. Deployment Method
  2. Programming Language Equivalence (Libs and Packages) Base Languages Packages /

    Libraries Repository Installation Command PHP Pre-Compiled (OS Distribution), Backports (Community), PEAR or PEAR2(Pyrus) apt-get install php5-libraryname yum install php5-libraryname zypper install php5-libraryname pear install Library_Name php pyrus.phar Library_Name Perl CPAN (Mix) cpan prompt > install Bundle::CPAN Ruby RubyGEM (Mix) gem install package_name Python github tarballs (Community) pypi (Certified, community clone), easy_install package-name -or- pip install package-name
  3. Programming Language Equivalence (Frameworks and Platforms) Base Languages Example of

    Web Framework Example of Web Platform PHP CodeIgniter CakePHP Symfony Yii Croogo CMS Bamboo Invoice App Perl mojolicio.us catalyst OCS Inventory NG Ruby RubyOnRails Redmine Python Pylons Django Django-CMS Sentry Track
  4. OS Platform and Development Environment OS Platform Development Environment Windows

    Native Installation from OS Distributed Installer (*.exe, *.msi) Linux Felling on Windows with CygWin http://www.cygwin.com/ Cons: OS Library Compatibility Issues -or- Virtualize Linux OS (either Classical, or in Vagrant way) https://www.virtualbox.org/ http://www.vagrantup.com/ Linux Install the Linux Headers, Compilers, and recommended Library Python Env (Isolated Python Version) Virtualenv (Isolated Python Environment) Mac Install HomeBrew (*nix package manager for Mac OS) http://brew.sh/ Python Env (Isolated Python Version) Virtualenv (Isolated Python Environment)
  5. Compare Development and Production Environment Tech Stack Development Production Web

    Server WSGI NGINX, Apache, or Tornado Database SQLite, or PostgreSQL PostgreSQL Search Engine Wosh Solr Distributed Task Queue Celery Celery No more space to list everything On Terminal, run the process in Verbose or enable Logging in Debug level Daemonize Services
  6. Deployment Method Old Fashioned Way Ninja Way The Neverending Copy-Paste

    Methodology FileZilla, WinSCP, or FUSE RSync or SCM Repository Pull Makes you Cry Blood with SQL Statements Data Definition Language Data Manipulation Language Database Schema Migration (Database Diff) Migrate (Database Manipulation) Custom Manage Command for Advance Data Manipulation No more space to list everything Use Fabric, or any Provisioning Tools of your choice