一、简单介绍
最近需要用Python模拟登录远程服务器并自动执行一些代码,需要安装一个叫paramiko的模块。
paramiko官方介绍遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。但是安装paramiko需要先安装一个依赖包叫PyCrypto的模块。PyCrypto是python编写的加密工具包,支持的各种加密算法(主要有:MD2 128 bits;MD4 128 bits;MD5 128 bits;RIPEMD 160 bits;SHA1 160 bits;SHA256 256 bits;AES 16, 24, or 32 bytes/16 bytes;ARC2 Variable/8 bytes;Blowfish Variable/8 bytes;CAST Variable/8 bytes;DES 8 bytes/8 bytes ;DES3 (Triple DES) 16 bytes/8 bytes;IDEA 16 bytes/8 bytes ;RC5 Variable/8 bytes等等。)
由于安装PyCrypto需要依赖gcc库编译,本文主要解决的问题其实就是安装PyCrypto过程中遇到的问题。另外本文仅针对在Mac 10.8系统下,python 版本是2.7。
二、安装PyCrypto
安装pycrypto有两种方式:一种是直接通过pip install方式,前提是已经安装了easy install工具,我们只要直接执行pip install pycrypto就可以了。第二中方式就是直接下载pycrypto包,解压后 进入setup.py文件目录,执行python setup.py install命令,注意考虑到权限问题,应该以管理员权限运行。
但是问题出在安装时候报错,提示找不到gcc编译库,这是由于你没有将gcc编译路径加入到环境变量中去,它不知道用哪个gcc编译库:
所以我们手动添加一下,在terminial执行以下两行命令:
export CC=llvm-gcc-4.2 export CXX=llvm-g++-4.2
但是有时候我们系统里面如果没有gcc编译库,那就得自己到google code上搜索一个安装一下上面那个方法才能奏效,(googlec编译器下载地址 https://github.com/kennethreitz/osx-gcc-installer/downloads。)
另一种简便方法:
如果我们系统里面安装了xcode的话,那可以下载clang包,比较完整的gcc编译库比较笨重,clang是一个轻量级的C\C++\OC的编译包。Python2.0后是支持的。
首先打开xcode,进入Xcode-->偏好设置-->下载
有一个叫command line tools的组件,如果还没有下载,那就点击下载。
下载完成后,再次设置环境变量:
export CC=clang export CXX=llvm-g++-4.2
这样在执行pip install pycrypto 就没有问题了。
三、安装paramiko
直接运行pip install paramiko 或者下载paramiko包,用python setup.py install安装,这里就不详述了。(下载地址:https://github.com/paramiko/paramiko)