I am a Ruby programmer trying to learn Python. I am pretty familiar with pyenv since it is like a copy and paste from RBEnv. Pyenv helps in allowing to have more than one version of Python in a system and also to isolate the Python instance without touching sensitive parts of system. I suppose every Python installation comes with a pip package. What I still don't understand is, there are many good Python libraries out there that suggest to use this virtualenv and Anaconda. I can even find a virtualenv plugin for pyenv. Now I am getting confused with the purpose of these two, pyenv and virtualenv. Worse, inside pyenv, there is a virtualenv plugin. What is the difference between pyenv and virtualenv? Is there any difference in using a pip command inside both pyenv and virtualenv? What does this pyenv virtualenv do? Continue reading...