Set Up Python Development Environment on Mac OS X (macOS)

To set up a clean and easy to manage Python development environment on Mac OS X (or more generally - a Linux-like working environment), I try to obey the following guidelines: Use Homebrew as the package management tool. General tools or system wide packages are installed through Homebrew. Install Python 2 and 3 (including pip) from Homebrew. Though Python 2 comes with OS X by default, but the version might be lower and may be changed due to OS X upgrade in the future.

How to set various PATH and Environments for Shell (bash) and Emacs

What is the difference between shell, bash, terminal? Shell is a command-line interpreter and there are various types of shell like Bourne shell (sh) and C shell (csh). Bash (Bourne-Again shell) is written as part of GNU Project to provide a superset of Bourne Shell functionality. Terminal used to be a physical hardware device to access a computer system when computer is bulky and expensive. The Terminal app on Mac OS X is called a terminal emulator actually, whose function is to emulate a terminal as its name suggested.