Incorrect Context error when calling bpy.ops.view3d.object_as_camera()

I am using blender command line to render image . But before that I need to select active object as camera, which I am doing by calling bpy.ops.view3d.object_as_camera() .
However I am getting the wicked error Operator bpy.ops.view3d.object_as_camera.poll() failed, context is incorrect
Now when I do the following in Python Console in blender , the active camera is selected

bpy.data.objects[‘Camera001-5’].select = True
bpy.context.scene.objects.active = bpy.data.objects[‘Camera001-5’]
bpy.data.scenes[0].camera = bpy.data.objects[‘Camera001-5’]
for area in bpy.context.screen.areas:
if area.type == ‘VIEW_3D’:
override = bpy.context.copy()
override[‘area’] = area
bpy.ops.view3d.object_as_camera(override)
break

But when I run the script using blender command line, it gives error again. What to do?

Read here:

poll() failed, context incorrect? - Example: bpy.ops.view3d.background_image_add()

The low-level replacement could be:

scene = bpy.context.scene
scene.camera = bpy.data.objects['Camera001-5']

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        area.spaces.active.region_3d.view_perspective = 'CAMERA'
        break

I read that post. I think I missed the perspective. Thanks :slight_smile: