Trying to run an implementation of lsqcurvefit from the Optimization Toolbox from Matlab in python
As said in the comments this question is better aligned with stack overflow.
Answer
The problem is that curve_fit assumes ydata = f(xdata, *params) + eps, and you assumed ydata = f(params, xdata) +  eps. If I understand your problem correctly your function could be implemented as
def myfun(xdata, a, b, c):
  return np.exp(a)./ xdata**np.exp(b) - c