In the code below I try to sign a nonce using pynacl.
from nacl.encoding import Base64Encoder
from nacl.signing import SigningKey
import base58
import base64
secret = '5N3SxG4UzVDpNe4LyDoZyb6bSgE9tk3pE2XP5znXo5bF'
nonce = '3eaf8814caa842d94fdb96fc26d02f7c339e65ff'
h=hashlib.new('sha256')
h.update(str.encode(nonce))
hashednonce = h.hexdigest()
key = base58.b58decode(secret)
signingkey = SigningKey(key)
signednonce = signingkey.sign(hashednonce.encode())
That secret key is in base58 (Don't worry, it's not mine and is publicly posted here). In that page is also the signature it should output, but it's not the same.
I'm afraid that the key is being imported in the wrong way