Use subprocess.Popen rather than check_call

In order not to block UI thred, use Popen class to call external process