Using pip vs. MacPorts for installing Python packages I could install a python package (for example, numpy) on my Mac either via Macports:

port install py-numpy


or via pip:

pip install numpy


What are the general pros/cons of each approach? When should each approach be used? 


When should I prefer one over the other? 
Does it matter whether the package I'm installing is small or large (e.g. numpy)?
Does it depend on the version of python I'm using (2.x vs. 3.x, or Apple's python vs. MacPort's python)? 
Does it matter whether I have multiple versions of python installed on my Mac? 
Can they be used concurrently? 


I'm hoping for an answer that has a short listing of some pros/cons of each approach with some discussion about when to choose one over the other.
You should use pip because it's the Python-native tool for managing package installations but you shouldn't pip-install things into your base Python installation. It can be a mess to have to sort out fixed version dependencies between multiple software repositories if you're pip-installing everything into your base Python installation on your machine.

Instead, you should pip-install virtualenv and then use it to manage different, virtual Python installations and all the associated pip-installed packages packages for each virtual environment.

This allows you to switch from working with, say, beautifulsoup 1.x in one software repository to beautifulsoup 2.x in another repository without having to wade through dependency management hell.