Thanks. That worked.
The idea is, to lock only certain cells, you first lock the sheet, and then unlock all the cells you don't need to protect. That leaves the cells you do want to lock remain locked.
from openpyxl import Workbook
from openpyxl.styles import Protection, Style
# I just want to lock cell1
wb = Workbook()
ws = wb.active
ws.protection.sheet = True
cell1 = ws['a1']
cell1.value = "Can you change me?"
cell2 = ws['a2']
cell2.value = "what about me?"
cell2.style = Style(protection = Protection(locked=False))
wb.save(filename = 'simple.xlsx')