The most recent version of the Service Fabric CLI (4.0.0) has a dependency conflict with the Azure CLI (2.0.27) with the former needing knack v0.1.1 and the latter needing knack v0.3.1. While this may be fixed soon, and using a virtualenv in your environment would resolve it, I thought it would be a good idea to do something a bit more permanent.
I created a Docker image based on the Azure CLI image that also has sfctl installed in a virtualenv, with the added bonus of tmux auto-configured to fire up one pane with Azure CLI and another with Service Fabric CLI. Now they will run just fine regardless of any current/future Python dependency conflicts, and can be run on any host that has Docker installed with a simple “docker run -it ryanmcintyre/sfctl”.
I didn’t include any custom tmux conf or anything that wasn’t already in the base image or mentioned previously so it’s fairly vanilla.