The problem is that everybody gets hurt, in at least a short-term sense, by a carbon tax. And yes, a lot of people will understand that this is a necessary pain. But all the worst carbon offenders that might campaign against a climate policy would get hurt by the same thing at the same time, so they would provide a large lobbying voice to weaken or destroy what's hurting them (this example is about carbon taxes, but really any sort of universal punitive measure) as a policy.
Politically, punishments will remain effective for longer if they are targeted so that the opposition to them remains divided. It _might_ help if carbon taxes could be adopted on a per-industry basis, because polluters are nothing if not keen to avoid thinking about anything that they perceive as not their problem- it should be possible to avoid triggering any sort of sense of polluter-solidarity on their part.
Another possibility is offering positive financial incentives to stopping fossil fuel activity. The government could directly give cash to companies that stop pulling coal and oil out of the ground, or stop burning it. Fracking companies in particular should be given a ton of money if they convert to geothermal.