Can you share the exception traceback for the circular import (as formatted text)?
By any chance do you have a file named prettytable.py somewhere on your import path that’s shadowing the prettytable package you installed and trying to import itself?