Seite 1 von 2
Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Donnerstag 3. Mai 2012, 17:32
von Kegelkugel
Hallo,
als ich gestern die Python-Library pyPdf installiert habe (Download von Website & Installation) und pyPdf importieren wollte, kam folgende Fehlermeldung:
Ich habe vor ein paar Tage von Ubuntu 11.10 auf 12.04 geupgradet, davor hat es funktioniert. Wahrscheinlich lag es am Upgrade.
Kann ich dieses Modul "sha256" irgendwie nachinstallieren oder einrichten? Meine Recherche hat leider nichts gebracht.
Vielen Dank für eine Antwort!
Grüße,
Markus
Re: Modul sha256 fehlt; wird für pyPdf benötigt
Verfasst: Freitag 4. Mai 2012, 08:47
von sma
Ich rate, das gehört zu pyOpenSSL.
Stefan
Re: Modul sha256 fehlt; wird für pyPdf benötigt
Verfasst: Freitag 4. Mai 2012, 11:09
von jerch
Unter Opensuse gehört das Modul zum Python-Grundpaket. _sha256 wird von hashlib verwendet. Vllt. ist das unter Ubuntu nicht Teil der Python-Grundinstallation?
Re: Modul sha256 fehlt; wird für pyPdf benötigt
Verfasst: Freitag 4. Mai 2012, 16:03
von Leonidas
jerch hat geschrieben:Vllt. ist das unter Ubuntu nicht Teil der Python-Grundinstallation?
Die _sha256.so ist gar nicht mehr Teil von Ubuntu 12.04. Warum auch immer, vielleicht weil sie mit einer anderen zusammengelegt wurde.
Re: Modul sha256 fehlt; wird für pyPdf benötigt
Verfasst: Samstag 5. Mai 2012, 10:13
von Kegelkugel
Ok, schonmal Danke für die Antworten!

Hat jemand eine Idee, wie ich es jetzt einrichten kann? Kann ich irgendwo eine "Verknüpfung" zum Ersatz-Paket erstellen?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 10:41
von BlackJack
@Kegelkugel: Kannst Du ``import hashlib`` ausführen?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 12:58
von Kegelkugel
Nein, gleiche Fehlermeldung(_sha256 fehlt).
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 13:11
von nomnom
Xubuntu 12.04:
Code: Alles auswählen
>>> import hashlib
>>> import _sha256
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named _sha256
>>> hashlib.sha256('Hello world!').hexdigest()
'c0535e4be2b79ffd93291305436bf889314e4a3faec05ecffcbb7df31ad9e51a'
>>>
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 13:14
von BlackJack
@Kegelkugel: Kannst Du `_hashlib` importieren (man beachte den führenden Unterstrich) und falls ja, was ist da enthalten (`dir()`-Funktion)?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 14:11
von Kegelkugel
Jetzt bin ich verwirrt:
Code: Alles auswählen
>>> import hashlib
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
try:
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
try:
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
try:
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File "hashlib.py", line 139, in <module>
File "hashlib.py", line 91, in __get_builtin_constructor
try:
ValueError: unsupported hash type sha512
>>> import hashlib
>>> import _sha256
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named _sha256
>>>
Nur beim ersten Versuch, hashlib zu importieren kommt eine Fehlermeldung. Das Gleiche gilt auch für pyPdf. Wenn man es zweimal importieren will klappt's.
_hashlib lässt sich nicht importieren (ImportError: No module named _hashlib)
Der Code von nomnom funktioniert leider auch nicht (AttributeError: 'module' object has no attribute 'sha256')
Meine aktuelle Aufgabe an pyPdf, ein PDF-Dokument zu drehen, funktioniert auch ohne hashlib, also wenn ich die Import-Anweisung auskommentiere.
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 15:00
von BlackJack
@Kegelkugel: `pyPdf` importiert indirekt über das `md5`-Modul `hashlib`. Und das scheint bei Dir die `sha*`-Funktionen nicht zu finden, warum auch immer. Eigentlich sollte es das `_hashlib`-Modul geben was gegen die OpenSSL-SHA-Implementierungen gelinkt ist. So ist das jedenfalls früher immer gewesen. Falls es das nicht gibt werden die Implementierungen in eigenen Bibliotheken `_sha256.so` & Co gesucht. Die es bei Dir aber anscheinend auch nicht gibt.
Hat ein Leser hier vielleicht ein Ubuntu 12.04 installiert und kann verraten wie sich ``import hashlib`` bei ihm verhält?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 15:12
von snafu
Ist bei dir `python-crypto` installiert? Falls nein: Besteht der Fehler immer noch, nachdem du das Paket installiert hast?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 15:36
von BlackJack
Falls das hilft, ist es aber trotzdem eigenartig, denn `hashlib` gehört zu Standardbibliothek. Das sollte man ohne zusätzliche Drittmodule und ohne Ausnahmen importieren können.
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 15:40
von snafu
So wie TKinter?

Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 15:56
von BlackJack
Ja so wie Tkinter, grrr.

In früheren Versionen ist `_hashlib` sogar ein Modul was fest in den Interpreter einkompiliert ist:
Code: Alles auswählen
In [772]: sys.version
Out[772]: '2.6.5 (r265:79063, Apr 16 2010, 13:09:56) \n[GCC 4.4.3]'
In [773]: '_hashlib' in sys.builtin_module_names
Out[773]: True
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 16:07
von nomnom
BlackJack hat geschrieben:Hat ein Leser hier vielleicht ein Ubuntu 12.04 installiert und kann verraten wie sich ``import hashlib`` bei ihm verhält?
Hab ich doch oben schon gezeigt. Und _hashlib kann ich auch importieren.
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 16:21
von Leonidas
Kann sein, dass der Threadstarter sich irgendwie sein eigenes Python gebastelt hat?
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Samstag 5. Mai 2012, 17:30
von Kegelkugel
@Leonidas: Wie meinst du das? Eigentlich nicht, so weit ich weiß. Ich "müsste" das normale Python haben... :-/
@Snafu: Ja, python-crypto ist bereits installiert.
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Sonntag 6. Mai 2012, 04:16
von Leonidas
Kegelkugel hat geschrieben:@Leonidas: Wie meinst du das? Eigentlich nicht, so weit ich weiß. Ich "müsste" das normale Python haben... :-/
Dann re-installier mal die Pakete ``python2.7`` und ``python2.7-minimal``. Irgendwie wirkt deine Installation kaputt.
Re: Modul sha256 fehlt unter Ubuntu 12.04
Verfasst: Montag 7. Mai 2012, 13:53
von Kegelkugel
Ich denke es wäre ein Fehler, diese Pakete zu entfernen, auch wenn man sie danach wieder installiert:
Code: Alles auswählen
$ sudo apt-get remove python2.7 python2.7-minimal
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen... Fertig
Die folgenden Pakete werden ENTFERNT:
[... ziemlich lange Liste]
WARNUNG: Die folgenden essentiellen Pakete werden entfernt.
Dies sollte NICHT geschehen, außer Sie wissen genau, was Sie tun!
python-minimal python2.7-minimal (wegen python-minimal)
0 aktualisiert, 0 neu installiert, 262 zu entfernen und 0 nicht aktualisiert.
Nach dieser Operation werden 277 MB Plattenplatz freigegeben.
Sie sind im Begriff, etwas potentiell Schädliches zu tun.
Zum Fortfahren geben Sie bitte »Ja, tue was ich sage!« ein.
Oder gibt es einen apt Befehl zum direkten re-installieren?
Bemerkung:
Wie bei nomnom lässt sich bei mir hashlib importieren (beim 2. Versuch), _hashlib und _sha256 allerdings nicht! Anders als bei nomnom funktioniert hashlib.sha256 nicht.