Il faut que ta fonction psi travaille avec des numpy.ndarray et non pas avec des réels, tu peux utiliser les fonctions fournies par numpy qui permettent de traiter directement des arrays :
import numpy as np
import matplotlib.pyplot as plt
def psi(x):
return x*np.exp(-x)/(1-np.exp(-x))
x=np.linspace(0.001,20,200)
y=psi(x)
plt.plot(x,y)
plt.show()