A forma mais simples de se fazer isso é ter, sim, ambas as versões do python instaladas e usar o virtualenv para criar ambientes isolados para cada projeto. Com o virtualenv é possível criar cópias da instalação do python (você escolhe a versão) e instalar para cada cópia as depedências necessárias, sem interferir na instalação dos pythons no sistema operacional.
Para o seu caso, você poderia criar dois ambientes virtuais. Um usando o python 2 e outro usando o python 3. Os programas que gostaria de executar iriam executar com a versão do python e as dependências instaladas nos respectivos ambientes virtuais.