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?