3 weeks is really nothing for a ball python to go without eating. If he/she isn't losing weight or showing any signs of ailing health, then don't worry about it and just wait. Theres so many factors that can cause them not to eat.

What is within your control right now is to make sure your husbandtry practices are right on. If you do everything you can and the snake still won't eat, then you don't have to worry, but just wait around for its appetite to come back!