You also have to a) start the pinentry server in emacs, b) tell epa to use loopback for pinentry and c) explicitely enable loopback mode in your pinentry file.
~/.gnupg/gpg-agent.conf:
allow-emacs-pinentry allow-loopback-pinentry Then tell gpg-agent to load this configuration with:
gpgconf --reload gpg-agent
Inside emacs, either do
M-x pinentry-start RET and
M-x customize-group RET epa RET Then set “Epa Pinentry Mode” to ‘loopback’ and apply.
Or put this into your .emacs file:
(pinentry-start) (setq epa-pinentry-mode 'loopback)