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

之前安装了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/
或者
[root@master pippackage]# pip download paramiko --src ./

[djuser@localhost ~]$ 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) [djuser@localhost ~]$ 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) [djuser@localhost ~]$ mkdir pippackage

(py3test) [djuser@localhost ~]$ pip installl paramiko --download ~/pippackage/

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

(py3test) [djuser@localhost ~]$ 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) [djuser@localhost ~]$ 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) [djuser@localhost ~]$ cd pippackage/

(py3test) [djuser@localhost 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) [djuser@localhost ~]$ tar -cvf pippack.tar pippackage/

打包后 传到服务器上

解压后执行

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

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

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

05-11 22:04