Linux上安装paramiko模块以及easy_install的安装方法

一、paramiko模块有什么用?

paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko都可以支持,因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系列的操作时,比如:批量执行命令,批量上传文件等操作,paramiko是最佳工具之一。

目前新的版本,官网在此:

https://github.com/paramiko/paramiko

旧版本在此:

http://www.lag.net/paramiko/legacy.html


要安装新版本paramiko模块需要做以下准备:

 

1.Python2.5+ 版本(Linux, Unix, Windows都可以),这里就直接安装Python2.7
    下载地址:http://www.python.org

 

2.PyCrypto 2.1+ 模块(PyCrypto是使用Python编写的加密工具包)
    下载地址:https://www.dlitz.net/software/pycrypto/

 

3.easy_install 工具(是Python安装模块的一个工具,像yum,可以自动解决依赖

    下载地址: http://peak.telecommunity.com/dist/ez_setup.py

 

如果大家感觉安装paramiko还是略有麻烦的话,当使用到paramiko提供的方便时便会觉得这是十分值得的。

二、Linux上安装paramiko(以CentOS 5.8 32位 为例)

1.查看Python的版本,是否满足要求

1 [root@server1 ~]# python -V
2 Python 2.4.3
3 [root@server1 ~]#

Windows上亦是此命令,注意是大写V

是2.4.3版本,需要升级

2.下载安装python2.7

复制代码
 1 [root@server2 ~]# wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
 2 [root@server2 ~]# tar jxf Python-2.7.5.tar.bz2
 3 [root@server2 ~]# cd Python-2.7.5
 4 [root@server2 Python-2.7.5]# ./configure --prefix=/usr/local/python2.7
 5 [root@server2 Python-2.7.5]# make && make install
 6 [root@server2 Python-2.7.5]# echo "PATH=/usr/local/python2.7/bin:$PATH" >> /etc/profile
 7 [root@server2 Python-2.7.5]# source /etc/profile
 8 [root@server2 Python-2.7.5]# python -V
 9 Python 2.7.5
10 [root@server2 Python-2.7.5]# python
11 Python 2.7.5 (default, Aug 16 2013, 07:56:41)
12 [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
13 Type "help", "copyright", "credits" or "license" for more information.
14 >>>
复制代码

3.安装easy_install 工具

复制代码
 1 [root@server2 ~]# wget http://peak.telecommunity.com/dist/ez_setup.py
 2 [root@server2 ~]# python ez_setup.py
 3 Downloading http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
 4 Processing setuptools-0.6c11-py2.7.egg
 5 Copying setuptools-0.6c11-py2.7.egg to /usr/local/python2.7/lib/python2.7/site-packages
 6 Adding setuptools 0.6c11 to easy-install.pth file
 7 Installing easy_install script to /usr/local/python2.7/bin
 8 Installing easy_install-2.7 script to /usr/local/python2.7/bin
 9 Installed /usr/local/python2.7/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
10 Processing dependencies for setuptools==0.6c11
11 Finished processing dependencies for setuptools==0.6c11
复制代码

只需要执行以上命令,即可安装好easy_install 工具

4.安装paramiko模块

使用以下命令,即可安装好paramiko模块

1 [root@server2 ~]# easy_install paramiko

进入Python导入paramiko一下试试

复制代码
1 [root@server2 ~]# python
2 Python 2.7.5 (default, Aug 16 2013, 07:56:41)
3 [GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2
4 Type "help", "copyright", "credits" or "license" for more information.
5 >>> import paramiko
6 /usr/local/python2.7/lib/python2.7/site-packages/pycrypto-2.6-py2.7-linux-i686.egg/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec.  You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.
7 >>>
复制代码

导入模块时,如果遇到以上问题,可能是由于gmp版本比较低造成的,gmp是啥,看官网的解释:
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers.
看样子是跟精度有关系

可以用以下方法解决:
先卸载低版本

复制代码
1 root@server2 ~]# rpm -qa | grep gmp
2 gmp-devel-4.1.4-10.el5
3 gmp-4.1.4-10.el5
4 [root@server2 ~]# rpm -e gmp-devel-4.1.4-10.el5.i386
5 [root@server2 ~]# rpm -e gcc-gfortran-4.1.2-52.el5.i386
6 [root@server2 ~]# rpm -e gmp-4.1.4-10.el5
7 [root@server2 ~]# ldconfig
8 [root@server2 ~]#
复制代码

然后安装高版本的gmp

1 [root@server2 ~]# wget http://ftp.gnu.org/gnu/gmp/gmp-5.1.2.tar.bz2
2 [root@server2 ~]# tar jxf gmp-5.1.2.tar.bz2
3 [root@server2 ~]# cd gmp-5.1.2
4 [root@server2 gmp-5.1.2]# ./configure && make && make install
5 [root@server2 gmp-5.1.2]# echo "/usr/local/lib" >> /etc/ld.so.conf
6 [root@server2 gmp-5.1.2]# ldconfig

再次尝试导入paramiko模块:

1
2
3
4
5
6
7
8
[root@server2 gmp-5.1.2]# python
Python 2.7.5 ( default , Aug 16 2013, 07:56:41)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)]  on  linux2
Type  "help" "copyright" "credits"  or  "license"  for  more information.
>>> import paramiko
>>> dir(paramiko)
[ 'AUTH_FAILED' 'AUTH_PARTIALLY_SUCCESSFUL' 'AUTH_SUCCESSFUL' 'Agent' 'AgentKey' 'AuthHandler' 'AuthenticationException' 'AutoAddPolicy' 'BadAuthenticationType' 'BadHostKeyException' 'BaseSFTP' 'BufferedFile' 'Channel' 'ChannelException' 'ChannelFile' 'DSSKey' 'HostKeys' 'InteractiveQuery' 'Message' 'MissingHostKeyPolicy' 'OPEN_FAILED_ADMINISTRATIVELY_PROHIBITED' 'OPEN_FAILED_CONNECT_FAILED' 'OPEN_FAILED_RESOURCE_SHORTAGE' 'OPEN_FAILED_UNKNOWN_CHANNEL_TYPE' 'OPEN_SUCCEEDED' 'PKey' 'Packetizer' 'PasswordRequiredException' 'ProxyCommand' 'ProxyCommandFailure' 'RSAKey' 'RejectPolicy' 'SFTP' 'SFTPAttributes' 'SFTPClient' 'SFTPError' 'SFTPFile' 'SFTPHandle' 'SFTPServer' 'SFTPServerInterface' 'SFTP_BAD_MESSAGE' 'SFTP_CONNECTION_LOST' 'SFTP_EOF' 'SFTP_FAILURE' 'SFTP_NO_CONNECTION' 'SFTP_NO_SUCH_FILE' 'SFTP_OK' 'SFTP_OP_UNSUPPORTED' 'SFTP_PERMISSION_DENIED' 'SSHClient' 'SSHConfig' 'SSHException' 'SecurityOptions' 'ServerInterface' 'SubsystemHandler' 'Transport' 'WarningPolicy' '__all__' '__author__' '__builtins__' '__doc__' '__file__' '__license__' '__loader__' '__name__' '__package__' '__path__' '__version__' 'agent' 'auth_handler' 'ber' 'buffered_pipe' 'channel' 'client' 'common' 'compress' 'config' 'dsskey' 'file' 'hostkeys' 'io_sleep' 'kex_gex' 'kex_group1' 'message' 'packet' 'pipe' 'pkey' 'primes' 'proxy' 'resource' 'rsakey' 'server' 'sftp' 'sftp_attr' 'sftp_client' 'sftp_file' 'sftp_handle' 'sftp_server' 'sftp_si' 'ssh_exception' 'sys' 'transport' 'util' ]
>>>

  一切正常,至此paramiko模块在Linux上安装完成


原文链接:http://www.cnblogs.com/shangzekai/p/5212305.html


安装过程中可能遇到的问题以及解决方法,请参考:

1》linux中pip安装步骤与使用详解

2》python下setuptools安装( No module named setuptools 解决方案)

3》【centos】 error command 'gcc' failed with exit status 1

4》 CentOS 5.8(x86_64)中,Python-2.7.5交互模式下方向键、退格键等出现乱码。


你可能感兴趣的:(linux)