# How to set active control point of a curve using python

I'm failing to set the active control point of a nurbs curve using bpy.

For context, I'm trying to add a hook to a selected pose bone. The following snippet demonstrates the idea. A pose bone is already selected:

ob = bpy.context.active_object
curve = ob.data.splines[0]
scene = bpy.context.scene

ob.select = True
scene.objects.active = ob

bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.curve.select_all(action='DESELECT')
curve.points[0].select = True

RuntimeError: Error: Requires selected vertices or active vertex group