2017-11-18 7 views
3

nicht versuchen, einen pymodbus tcp-Server laufen zu lassen und im Erhalten dieser Stapelspur ... bei einem totalen Verlust hier, also wird jede mögliche Hilfe geschätzt. Vielen Dank!Python-Kryptografie-Fehler kann Name certificate_transparency

Traceback (most recent call last): 
File "Worrking_ModbusJ1939Bridge.py", line 12, in <module> 
from pymodbus.server.async import StartTcpServer 
File "build/bdist.linux-armv7l/egg/pymodbus/server/async.py", line 18, in <module> 
File "build/bdist.linux-armv7l/egg/pymodbus/internal/ptwisted.py", line 5, in <module> 
File "/usr/local/lib/python2.7/dist-packages/twisted/conch/manhole_ssh.py", line 14, in <module> 
from twisted.conch.ssh import factory, session 
File "/usr/local/lib/python2.7/dist-packages/twisted/conch/ssh/factory.py", line 18, in <module> 
from twisted.conch.ssh import (_kex, transport, userauth, connection) 
File "/usr/local/lib/python2.7/dist packages/twisted/conch/ssh/transport.py", line 345, in <module> 
class SSHTransportBase(protocol.Protocol): 
File "/usr/local/lib/python2.7/dist-packages/twisted/conch/ssh/transport.py", line 469, in SSHTransportBase 
supportedCiphers = _getSupportedCiphers() 
File "/usr/local/lib/python2.7/dist-packages/twisted/conch/ssh/transport.py", line 335, in _getSupportedCiphers 
backend=default_backend(), 
File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/backends/__init__.py", line 15, in default_backend 
from cryptography.hazmat.backends.openssl.backend import backend 
File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/backends/openssl/__init__.py", line 7, in <module> 
from cryptography.hazmat.backends.openssl.backend import backend 
File "/usr/local/lib/python2.7/dist-packages/cryptography/hazmat/backends/openssl/backend.py", line 16, in <module> 
from cryptography import utils, x509 
File "/usr/local/lib/python2.7/dist-packages/cryptography/x509/__init__.py", line 7, in <module> 
from cryptography.x509 import certificate_transparency 
ImportError: cannot import name certificate_transparency 

Antwort

1

Ich habe diese Weile schlagen versucht Python Kryptografie für Solaris 11.4, mit dem https://github.com/oracle/solaris-userland/ Build-System zu aktualisieren. Ein "einfaches" Pip-Update ist für mich keine Option, so machen wir das nicht.

Ich fand schließlich die Lösung: Ich hatte das Paket falsch gebaut.

Kryptographie 2.1.4 ist abhängig von cffi> 1.7. Beide Pakete haben neue lieferbare Bits im Vergleich zu den Versionen, die wir versandten.

Wenn das Paketmanifest nicht aktualisiert wird, um die neuen Dateien korrekt zu verfolgen, führt dies dazu, dass sowohl cffi als auch Kryptografie keine Symbole importieren können, von denen die aktuellen Versionen abhängen.

[Ein sehr großes Dankeschön an Alex Gaynor in # cryptography-dev, der mich auf den richtigen Weg gebracht hat, dies herauszufinden].

$ python2.7 
Python 2.7.14 (default, Jan 31 2018, 05:35:05) [C] on sunos5 
Type "help", "copyright", "credits" or "license" for more information. 
>>> from cryptography.hazmat.bindings._openssl import ffi, lib 
>>> from cryptography.x509 import certificate_transparency 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/vendor-packages/cryptography/x509/__init__.py", line 7, in <module> 
    from cryptography.x509 import certificate_transparency 
ImportError: cannot import name certificate_transparency 

Wenn Sie Kryptographie bauen und schauen, was es liefert, werden Sie feststellen, dass in der Tat gibt es eine Datei (versandten Solaris als /usr/lib/python-$(PYVER)/vendor-packages/cryptography/x509/certificate_transparency.py) - und wenn diese Datei in dem Rest der Hierarchie nicht dann Sie enden mit genau diesem ImportError.

Verwandte Themen