web-dev-qa-db-ja.com

Python暗号化エラーは名前certificate_transparencyをインポートできません

pymodbus tcpサーバーを実行しようとして、このスタックトレースを取得しています...ここでは完全に失われているので、助けていただければ幸いです。ありがとう!

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
4
Emerson

私はpip7を使用していましたが、同じ問題が発生しました。 pip9にアップグレードすると解決しました。原因がわかりません。

経由: https://github.com/micheloosterhof/cowrie/issues/618

1
José Ricardo

それは私のために働きます(paramikoの問題):

https://pypi.python.org/pypi/ctutlz/0.7.

pip install --process-dependency-links ctutlz

1
Tomasz Zieba

https://github.com/Oracle/solaris-userland/ ビルドシステムを使用してPython Solaris 11.4の暗号化を更新しようとしているときに、これにぶつかっています。pipの「単純な」更新は私にとってオプションではありません。それは私たちのやり方ではありません。

私は最終的に解決策を見つけました:私はパッケージを間違って構築しました。

暗号化2.1.4はcffi> 1.7に依存します。これらのパッケージは両方とも、出荷していたバージョンと比較して、newの成果物ビットを持っています。

パッケージマニフェストを更新して新しいファイルを正しく追跡しないと、cffiとcryptographyの両方が現在のバージョンが依存するシンボルをインポートできなくなります。

[これを理解するための正しい道に私を導いてくれた#cryptography-devのAlexGaynorに心から感謝します]。

_$ 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
_

暗号化を構築してそれが何を提供するかを見ると、実際にはファイル(Solarisでは/usr/lib/python-$(PYVER)/vendor-packages/cryptography/x509/certificate_transparency.pyとして出荷されます)があり、そのファイルが階層の残りの部分にない場合は、まさにこのImportErrorになってしまいます。

1
James McPherson

AWS LambdaでScrapyを実行し、Zipファイルを使用してデプロイしようとしたときに、このエラーが発生しました。

https://www.perrygeo.com/running-python-with-compiled-code-on-aws-lambda.html の指示に従いました。これは、基本的にAmazon LinuxEC2を起動するように指示します。たとえば、要件をインストールし、そこからZipをビルドします。

すべてを設定した後でも、最初に作成したパッケージで同じエラーが発生しましたが、それは隠しフォルダー.libs_cffi_backendZipファイルから欠落していました。そのフォルダには.soファイルが含まれており、存在しない場合はImportErrorが発生します。強制的に組み込んだ後、動作しました。

0
augustomen

これはピップではなく、パラミコの問題のようなものだと思います。 pipをアップグレードしても、私の環境ではこれが解決されませんでした。paramikoバージョンをlibffi依存関係のないバージョンにダウングレードする必要がありました。これは私にとってはうまくいきました。

pip2.7 install paramiko==1.17.0

この問題は以下に関連しています: https://github.com/paramiko/paramiko/issues/1401

0
mbenhalima

Python 2.7.8、古いバージョンのpip(1.4.1)を実行しているRHEL 6.7 x86_64でも、同様の問題が発生しました。

これは、「cp27mu」ビルドではなく「cp27m」ビルドをインストールしていたためです。

古いpip1.4.1ビルドでは、cp27mビルドのインストールについて文句はありませんでした。

一方、pipを9.0.3にアップグレードすると、真のエラーが発生します...

(bmcs2)bash-4.1 $ pip install cffi-1.11.5-cp27-cp27m-manylinux1_x86_64.whl cffi-1.11.5-cp27-cp27m-manylinux1_x86_64.whlは、このプラットフォームでサポートされているホイールではありません。

(bmcs2)bash-4.1 $ pip install cryptography-2.1.3-cp27-cp27m-manylinux1_x86_64.whl cryptography-2.1.3-cp27-cp27m-manylinux1_x86_64.whlは、このプラットフォームでサポートされているホイールではありません。

「ImportError:名前certificate_transparencyをインポートできません」は「cp27mu」ビルドを使用して解決されました。 「cp27mu」ビルドを使用する場合、pip1.4.1バージョンとpip9.0.3バージョンの両方が正常に機能しました。

cffi-1.11.5-cp27-cp27m-manylinux1_x86_64.whlとcffi-1.11.5-cp27-cp27mu-manylinux1_x86_64.whl

暗号化-2.1.3-cp27-cp27m-manylinux1_x86_64.whlと暗号化-2.1.3-cp27-cp27mu-manylinux1_i686.whl

詳細はこちら: https://www.python.org/dev/peps/pep-0513/#ucs-2-vs-ucs-4-builds

0
TodayGuessWhat