Unless you train with a knife, it is a poor choice for self-defense, and the psychology involved in actually cutting or stabbing someone in self-defense is beyond most people. Lastly, a knife is a contact weapon, which means you must be able to touch your attacker, in order to use it, which means you are also in range for your attacker to touch you.
I like pepper spray as a the tool anyone can use, as it takes little to no training. It is also a distance tool, allowing you to stay outside of contact range. It is effective: I have been sprayed a couple of times in training, and it works quite well. Lastly, use of it doesn’t constitute deadly force in most jurisdictions, nor does the possession of it constitute being armed with a weapon.