We all forget too quickly how it felt when we didn't know how to work in the lab. Others treated us like stupid, when just had not yet learned the skills. If you become a professor, you will end up spending a big part of your life just training people who don't know how to do things. And the older and more experienced you get, the harder it becomes to remember how it feels to be on that first step. So yes, you are training the other person, but you also need to train yourself in the art of training others.
With that out of the way: nine months is an awful amount of time, and what you are supposed to do is training not babysitting. Either the student develops independence, or they find someone at a lower level who can supervise them, for example, a more experienced undergraduate. By rejecting them from your supervision, you are not condemning them to lower-level status or ruining their career, but telling them that there are skills they need to learn before they can work under the supervision of a graduate student.
How did you end up with this student? Did you ask for undergrads to help you, and you hired this one? Then you can also fire them. Did your advisor assign this person to you, as part of research money the advisor is getting? Then talk to your advisor about reassigning the student, perhaps to a two-undergraduate team where this student reports to an undergraduate, an that second undergraduate then reports to you (or another grad student.)