Is pyenv or virtualenv essential for Django?
If you ever need to create other projects with different versions of python and with different versions of dependencies in the same virtualbox in future, then pyenv and virtualenv will save you from countless headaches.
For the first time, I made an environment for Django with virtualbox and vagrant (CentOS 7).  
But every tutorial I saw says I need to use pyenv or virtualenv. I think they are used to make a virtual environment for Django. But I don't know why I need to use pyenv or virtualenv. (For example, Cakephp3 doesn't need packages like pyenv or virtualenv.)  
And I was using virtualbox and vagrant, which are already virtual environment, so I think I was making virtual environment inside another virtual environment. I am not sure if this is meaningful. Maybe pyenv and virtualenv are not necessary if I am using virtual environment like virtualbox or vmware?
Are they essential for Django? When I deploy Django in actual server, do I still need to use pyenv or virtualenv?