# FindExternalEvaluators[“Python”] gives me an uninstalled version of Python

Long time ago, I have two versions of python installed in my pc, and I registered them all in mathematica. Later I uninstalled one of them, but FindExternalEvaluators["Python"] still gived me two results, and then when I wanted to run StartExternalSession["Python"],it tried to launch the uninstalled one first and gived me a lot of warning. The uninstalled Python is neither in the path of my system nor in the path of mathematica, and UnregisterExternalEvaluator doesn't work either. So how can I do if I want to get one result when I run FindExternalEvaluators["Python"]? My system is windows 10, version of mathematica is 11.2.

• You can start with a clean slate by evaluating ExternalEvaluate; ExternalEvaluatePrivateresetCache[] which will clear the cached external evaluator instances. – ilian Mar 12 '18 at 1:36
• It works. Thank you! – Jie Zhu Mar 13 '18 at 3:33

To turn my comment into an answer, ExternalEvaluate keeps a cache of evaluators it has found or used previously, and sometimes it can make invalid data persist.
ExternalEvaluate; (* trigger autoloading *)
ExternalEvaluatePrivateresetCache[]