&gt; And finally...well, I have to admit it, but I use Python like a goddamned moron in that I still don&#x27;t know how to use virutalenv&#x2F;venv to do proper dev isolation.<p>I was the same way for quite a while, until I bumped into pyenv-virtualenv[1]. Just install that plugin, and you can do, eg,<p><pre><code>    pyenv virtualenv 3.5.1 my-project
</code></pre>
to get a virtual environment called `my-project` based off of Python 3.5.1 (assuming that you&#x27;ve installed 3.5.1 via pyenv, of course). Or, you can just do<p><pre><code>    pyenv virtualenv my-project
</code></pre>
to make a virtualenv called `my-project` based off of the current version of Python that you&#x27;re using.<p>Once you do that, pyenv treats `my-project` just as another installation of Python. In fact, `my-project` will show up in the list of installed versions (`pyenv versions`), and you can switch to it:<p><pre><code>    pyenv global my-project
</code></pre>
(Or you can switch at the local or shell levels. Whichever.)<p>And voila! You have your own virtual environment that can contain its own list of libraries.<p>And no, I&#x27;m not a shill for the creator of pyenv, I just really like the software.<p>[1]: <a href="https:&#x2F;&#x2F;github.com&#x2F;yyuu&#x2F;pyenv-virtualenv" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;yyuu&#x2F;pyenv-virtualenv</a>