According to the Ghost.py source code:
...
bindings = ["PySide", "PyQt4"]
for name in bindings:
try:
binding = __import__(name)
break
except ImportError:
continue
if binding is None:
raise Exception("Ghost.py requires PySide or PyQt4")
...
binding
is defined when at least one of PySide or PyQt4 is installed. Check you PySide, PyQt4(not PyQt5) installation using following import
statement:
import PySide
import PyQt4
BTW, causing NameError
instead of Exception with the message "Ghost.py requires PySide or PyQt4"
is a bug. So I commented this.