I found while containers have more of a learning curve they are much easier in the long run. TensorFlow even has containers with source so you can build TensorFlow versions you need without installing a bunch of tooling on your system. If you use a GPU Nvidia-docker is by far the easiest way to get up and running with TensorFlow on a GPU. Best of all you avoid the “it works on my machine” issues where you can ship your container to the cloud or provide them to other developers to pickup and join your project.