J'ai travaillé sur l'obtention d'un module 2.5 porté à 3.0, principalement pour ma propre éducation, quand je suis resté coincé. La classe "Builder" a pour INIT:Problème concernant le module "hashlib" de la version 3.0
def __init__(self, **options):
self._verifyOptions(options)
self._options = options
self._initDigest()
self._initBuildNames()
self._methods = []
Mais l'erreur se produit à:
def _initDigest(self):
import os, sys, hashlib
digester = hashlib.md5()
digester.update(self._options.get('code'))
self._digest = digester.hexdigest()
qui a pour retraçage:
Traceback (most recent call last):
File "<pyshell#5>", line 5, in <module>
""", language="Cee")
File "C:\Python30\lib\site-packages\PyInline\__init__.py", line 31, in build
b = m.Builder(**args)
File "C:\Python30\lib\site-packages\PyInline\Cee.py", line 17, in __init__
self._initDigest()
File "C:\Python30\lib\site-packages\PyInline\Cee.py", line 27, in _initDigest
digester.update(self._options.get('code'))
TypeError: object supporting the buffer API required
J'ai passez par 2to3, mais ça ne va pas. Pour autant que je sache, la fonction de mise à jour s'attend à ce que l'argument soit sous la forme d'octets/buffer, mais j'ai essayé plusieurs méthodes différentes pour le convertir et n'ai pas réussi.
Comme toujours, toute aide serait grandement appréciée. :)
Vous avez corrigé cette erreur avec succès et vous avez approfondi cette tâche. Je te félicite et je te remercie! –