I tried to run example in photutil
Everything works great except the line
plt.imshow(image, cmap='gray_r', origin='lower')
You need to call
From the Matplotlib FAQ:
When you want to view your plots on your display, the user interface backend will need to start the GUI mainloop. This is what show() does. It tells matplotlib to raise all of the figure windows created so far and start the mainloop. Because this mainloop is blocking by default (i.e., script execution is paused), you should only call this once per script, at the end. Script execution is resumed after the last window is closed.