通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python

Posted s-seven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python相关的知识,希望对你有一定的参考价值。

场景:内网服务器不能上外网(代理也不通!),

之前安装了PYTHON的几个安装包,但不是知道为什么无法使用PARAMIKO这个模块

在导入 from cryptography.hazmat.bindings._openssl import ffi, lib 的时候会

报错:

 from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: /usr/local/python36/lib/python3.6/site-packages/cryptography-2.2.2-py3.6-linux-x86_64.egg/cryptography/hazmat/bindings/_openssl.abi3.so: undefined symbol: d2i_DHxparams

找了好多资料都没有解决,没办法只好放弃原有的安装方式,之前是一个个手动下载模块,传到内网服务器后 通过PYTHON SETUP.PY INSTALL 安装。

现在打算在外网通过PIP 下载模块,再打包到内网服务器,然后利用pip安装,这样可以避免模块之间依赖的问题

注:以下步骤是安装单个包的,下例子以安装paramiko包(较多依赖)说明

步骤说明:

1、使用pip download 命令下载wheel文件至下载目录~/pippackage目录下

 

pip install paramiko --download ~/pippackage/
或者
[[email protected] pippackage]# pip download paramiko --src ./

 

[[email protected] ~]$ mkvirtualenv py3test

New python executable in /home/djuser/.virtualenvs/py3test/bin/python2

Also creating executable in /home/djuser/.virtualenvs/py3test/bin/python

Installing setuptools, pip, wheel...done.

virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs/py3test/bin/predeactivate

virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs/py3test/bin/postdeactivate

virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs/py3test/bin/preactivate

virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs/py3test/bin/postactivate

virtualenvwrapper.user_scripts creating /home/djuser/.virtualenvs/py3test/bin/get_env_details

(py3test) [[email protected] ~]$ lssitepackages

easy_install.py   pip                   pkg_resources  setuptools-40.0.0.dist-info  wheel-0.31.1.dist-info

easy_install.pyc  pip-10.0.1.dist-info  setuptools     wheel

(py3test) [[email protected] ~]$ mkdir pippackage

(py3test) [[email protected] ~]$ pip installl paramiko --download ~/pippackage/

ERROR: unknown command "installl" - maybe you meant "install"

(py3test) [[email protected] ~]$ pip install paramiko --download ~/pippackage/

 

Usage:   

  pip install [options] <requirement specifier> [package-index-options] ...

  pip install [options] -r <requirements file> [package-index-options] ...

  pip install [options] [-e] <vcs project url> ...

  pip install [options] [-e] <local project path> ...

  pip install [options] <archive url/path> ...

 

no such option: --download

(py3test) [[email protected] ~]$ pip3 install paramiko --download ~/pippackage/

DEPRECATION: pip install --download has been deprecated and will be removed in the future. Pip now has a download command that should be used instead.

Collecting paramiko

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/3e/db/cb7b6656e0e7387637ce850689084dc0b94b44df31cc52e5fc5c2c4fd2c1/paramiko-2.4.1-py2.py3-none-any.whl (194kB)

    100% |████████████████████████████████| 194kB 107kB/s 

  Saved ./pippackage/paramiko-2.4.1-py2.py3-none-any.whl

Collecting cryptography>=1.5 (from paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/fa/f4/3cde3604972dfa2b0fea85b9711948bb4fb70ab64095322aef35071bd254/cryptography-2.2.2-cp34-abi3-manylinux1_x86_64.whl (2.2MB)

    100% |████████████████████████████████| 2.2MB 117kB/s 

  Saved ./pippackage/cryptography-2.2.2-cp34-abi3-manylinux1_x86_64.whl

Collecting pynacl>=1.0.1 (from paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/77/03/927e4cdbd821f929392608ddb2220a9548ce164c52047e90fadd20786fd8/PyNaCl-1.2.1-cp36-cp36m-manylinux1_x86_64.whl (692kB)

    100% |████████████████████████████████| 696kB 269kB/s 

  Saved ./pippackage/PyNaCl-1.2.1-cp36-cp36m-manylinux1_x86_64.whl

Collecting pyasn1>=0.1.7 (from paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/a0/70/2c27740f08e477499ce19eefe05dbcae6f19fdc49e9e82ce4768be0643b9/pyasn1-0.4.3-py2.py3-none-any.whl (72kB)

    100% |████████████████████████████████| 81kB 761kB/s 

  Saved ./pippackage/pyasn1-0.4.3-py2.py3-none-any.whl

Collecting bcrypt>=3.1.3 (from paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/b8/09/905ec939994e2c49dcffff72f823802557f166b3815ea54c1db3671eed42/bcrypt-3.1.4-cp36-cp36m-manylinux1_x86_64.whl (54kB)

    100% |████████████████████████████████| 61kB 418kB/s 

  Saved ./pippackage/bcrypt-3.1.4-cp36-cp36m-manylinux1_x86_64.whl

Collecting idna>=2.1 (from cryptography>=1.5->paramiko)

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab05a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl (58kB)

    100% |████████████████████████████████| 61kB 467kB/s 

  Saved ./pippackage/idna-2.7-py2.py3-none-any.whl

Collecting six>=1.4.1 (from cryptography>=1.5->paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl

  Saved ./pippackage/six-1.11.0-py2.py3-none-any.whl

Collecting cffi>=1.7; platform_python_implementation != "PyPy" (from cryptography>=1.5->paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/6d/c0/47db8f624f3e4e2f3f27be03a93379d1ba16a1450a7b1aacfa0366e2c0dd/cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl (421kB)

    100% |████████████████████████████████| 430kB 516kB/s 

  Saved ./pippackage/cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl

Collecting asn1crypto>=0.21.0 (from cryptography>=1.5->paramiko)

  Cache entry deserialization failed, entry ignored

  Cache entry deserialization failed, entry ignored

  Downloading https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB)

    100% |████████████████████████████████| 102kB 394kB/s 

  Saved ./pippackage/asn1crypto-0.24.0-py2.py3-none-any.whl

Collecting pycparser (from cffi>=1.7; platform_python_implementation != "PyPy"->cryptography>=1.5->paramiko)

  Cache entry deserialization failed, entry ignored

  Saved ./pippackage/pycparser-2.18-py2.py3-none-any.whl

Successfully downloaded paramiko cryptography pynacl pyasn1 bcrypt idna six cffi asn1crypto pycparser

You are using pip version 9.0.3, however version 10.0.1 is available.

You should consider upgrading via the ‘pip install --upgrade pip‘ command.

(py3test) [[email protected] ~]$ cd pippackage/

(py3test) [[email protected] pippackage]$ ll

总用量 3892

-rw-rw-r--. 1 djuser djuser  101571 7月  13 15:04 asn1crypto-0.24.0-py2.py3-none-any.whl

-rw-rw-r--. 1 djuser djuser   54260 7月  13 15:04 bcrypt-3.1.4-cp36-cp36m-manylinux1_x86_64.whl

-rw-rw-r--. 1 djuser djuser  421443 7月  13 15:04 cffi-1.11.5-cp36-cp36m-manylinux1_x86_64.whl

-rw-rw-r--. 1 djuser djuser 2152496 7月  13 15:04 cryptography-2.2.2-cp34-abi3-manylinux1_x86_64.whl

-rw-rw-r--. 1 djuser djuser   58213 7月  13 15:04 idna-2.7-py2.py3-none-any.whl

-rw-rw-r--. 1 djuser djuser  194536 7月  13 15:04 paramiko-2.4.1-py2.py3-none-any.whl

-rw-rw-r--. 1 djuser djuser   72560 7月  13 15:04 pyasn1-0.4.3-py2.py3-none-any.whl

-rw-rw-r--. 1 djuser djuser  205978 7月  13 15:04 pycparser-2.18-py2.py3-none-any.whl

-rw-rw-r--. 1 djuser djuser  692905 7月  13 15:04 PyNaCl-1.2.1-cp36-cp36m-manylinux1_x86_64.whl

-rw-rw-r--. 1 djuser djuser   10702 7月  13 15:04 six-1.11.0-py2.py3-none-any.whl

 

(py3test) [[email protected] ~]$ tar -cvf pippack.tar pippackage/

 

打包后 传到服务器上

解压后执行

pip install paramiko-2.4.1-py2.py3-none-any.whl  --no-index --find-links=~/pippackage/

 

 

安装完成 PARAMIKO 模块就可以正常使用  也没有再报错

 

 

原博主有加 --user 参数,但是我加了之后不能执行,不知道为什么,暂时不考虑了。

 






以上是关于通过离线安装包解决了 from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: /usr/local/python的主要内容,如果未能解决你的问题,请参考以下文章

离线安装rpm包并解决依赖(升级vsftpd为例)

CDH平台搭建解决离线安装依赖包的方法

离线环境通过pip安装包

Visual Studio 2017各版本安装包离线下载安装全解析

Visual Studio 2017各版本安装包离线下载安装全解析

通过 PHP 的 Openfire 离线通知