I am aware how to convert the private key into WIF format in python, now I am trying to reverse this process and convert a WIF formatted private key back into a 256-bit private key, following this guide: https://en.bitcoin.it/wiki/Wallet_import_format

This is the code to convert from 256-bit private key into WIF format:


    import hashlib
    import base58
    import binascii
    
    
    private_key_static = "0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D"
    extended_key = "80"+private_key_static
    first_sha256 = hashlib.sha256(binascii.unhexlify(extended_key)).hexdigest()
    second_sha256 = hashlib.sha256(binascii.unhexlify(first_sha256)).hexdigest()
    
    # add checksum to end of extended key
    final_key = extended_key+second_sha256[:8]
    
    # Wallet Import Format = base 58 encoded final_key
    WIF = base58.b58encode(binascii.unhexlify(final_key))
    
    print (WIF)

Now my attempt to reverse this process looks like this:

    import hashlib
    import base58
    import binascii
    
    private_key_WIF = 5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ
    first_encode = base58.b58decode(binascii.hexlify(private_key_WIF))
    print (first_encode)

Instead of receiving the byte string, I get following error: 

    TypeError: a bytes-like object is required, not 'str'


(All private keys used are sample keys taken from Bitcoin Wiki.)