I encountered this issue. I solved it using the following steps in order:
Make sure that the folder c:/Progra~2/GnuPG/bin is on your path before any other installed versions of the GnuPG executables (in my case, I had it installed via msys2).
Note that Progra~2 expands to "Program Files (x86)" on my system (I am using the 64 bit version ...
Pinentry is only an interface, it doesn't keep any passphrase or permission, and neither does Emacs. It's GPG-agent that manages the ropes. For example, if the time expires or the process dies, you'll have to authenticate again. So just kill the agent:
gpgconf --kill gpg-agent
More info at the gnupg manual.
error: cannot run gpg: No such file or directory
This means "I cannot find gpg and therefore cannot run it", i.e. that gpg either isn't installed at all (which is unlikely) or that it is not located on the PATH where processes look for executables they intend to run as subprocesses.
Based on what you have posted above that directory happens to be /usr/...