Skip to content

Tips:Dev Tools

Jack edited this page Sep 29, 2022 · 16 revisions

Docker:

  • containerizing application with all dependencies without users to manually setup the environment

  • available in all OS

  • encapsulates the entire OS, so you can swap out the entire OS

  • DOC: https://docs.docker.com/engine/

Python:

Environment container comparison:

Tool Name Intro Pro Con
Docker encapsulate OS environment run the same OS on different OS platform Huge
pyenv python version manager - -
virtualenv to encapsulate python dependencies switching different python with different python packages with an ease stuck with host OS
Anaconda to maintain python virtualenv + additional sci-lib Easier to work with large packages
Vagrant to provision a machine with an OS Offer higher degree of isolation than Docker, and runs as isolated processes within the host OS Heavier, larger and longer time to build

πŸ““ [Isolation Level]: pyenv < virtualenv <= Anaconda < Docker < Vagrant

Clone this wiki locally