Detect with python script if a blend file has packed images
Image.packed_file

Look at the value of the Image.packed_file property. Will be None if not packed.

Console test.

&gt;&gt;&gt; for i in bpy.data.images:
...     i.name, i.packed_file
...     
('3cb598.jpg', bpy.data.images['3cb598.jpg']...PackedFile)
('3b17ebcf9eb9.jpg', None)
('huge.49.247445.JPG', bpy.data.images['huge.49.247445.JPG']...PackedFile)
('Render Result', None)

&gt;&gt;&gt;