Salma Kastalli
Salma Kastalli

Reputation: 31

ImportError: The version of cryptography does not match the loaded shared object

I am using Paramiko. Any idea how I can use the Paramiko.RSAKey.from_private_key() function? I'm interested in using a function to parse a private key and use that private key for SSHClient.

Code I wanted to run:

file = './file.pem'
mypkey = paramiko.RSAKey.from_private_key_file(file)

Result:

ImportError: The version of cryptography does not match the loaded shared object. This can happen if you have multiple copies of cryptography installed in your Python path. Please try creating a new virtual environment to resolve this issue. Loaded python version: 2.4.2, shared object version: b'2.7'

It apears to be a problem with the lib cryptography:

from cryptography.hazmat.backends.openssl.backend import backend

I have python 3.7.1 I have installed Paramiko using pip install

Here are some infromation about the version I have used for paramiko :

pip show paramiko
Name: paramiko
Version: 2.6.0
Summary: SSH2 protocol library
Home-page: https://github.com/paramiko/paramiko/
License: LGPL
Requires: pynacl, bcrypt, cryptography
Required-by: sshtunnel

Here are some infromation about the version I have used for cryptography:

pip show cryptography
Name: cryptography
Version: 2.7
Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers.
Home-page: https://github.com/pyca/cryptography
License: BSD or Apache License, Version 2.0
Requires: six, asn1crypto, cffi
Required-by: service-identity, pyOpenSSL, paramiko

I have unistalled cryptography and installed the same ver of the paramiko:

pip install cryptography==2.6.0

The same ERROR stays

Upvotes: 1

Views: 5604

Answers (1)

Paul Kehrer
Paul Kehrer

Reputation: 14089

This problem is almost always caused by having multiple copies of cryptography installed simultaneously. This can happen if you've installed cryptography both with pip and your system's package manager. Try building a new virtualenv, installing your dependencies into that, and that should resolve the issue.

Upvotes: 2

Related Questions