一、简单介绍

最近需要用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)

Mac OSX 安装Python的paramiko模块经验总结的更多相关文章

  1. Mac OS X 下安装python的MySQLdb模块

    参考资料: mac os x下python安装MySQLdb模块   http://www.codeif.com/post/1073/ MAC OSX使用Python安装模块有关问题  http:// ...

  2. 在 mac 系统上安装 python 的 MySQLdb 模块

    在 mac 系统上安装 python 的 MySQLdb 模块 特别说明:本文主要参考了Mac系统怎么安装MySQLdb(MySQL-Python) 第 1 步:下载 MySQL-python-1.2 ...

  3. Python之paramiko模块

    今天我们来了解一下python的paramiko模块 paramiko是python基于SSH用于远程服务器并执行相应的操作. 我们先在windows下安装paramiko 1.cmd下用pip安装p ...

  4. 使用python的Paramiko模块登陆SSH

    使用python的Paramiko模块登陆SSH paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块 ...

  5. Python之paramiko模块和SQL连接API

    堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: i ...

  6. 安装python的pip模块

    安装python的pip模块 网址https://pypi.python.org/pypi/pip 选择,点击下载 将文件解压到C:\Users\Administrator\AppData\Local ...

  7. Mac OSX 安装qemu

    参考: Installing QEMU on OS X Homebrew Mac OSX 安装qemu 1.Install Homebrew: /usr/bin/ruby -e "$(cur ...

  8. 利用python 下paramiko模块无密码登录

    利用python 下paramiko模块无密码登录   上次我个大家介绍了利用paramiko这个模块,可以模拟ssh登陆远程服务器,并且可以返回执行的命令结果,这次给大家介绍下如何利用已经建立的密钥 ...

  9. (转)python的paramiko模块

    python的paramiko模块  原文:http://www.cnblogs.com/breezey/p/6663546.html     paramiko是用python语言写的一个模块,遵循S ...

随机推荐

  1. C#_dropdownlist_2

    string deptId =Request.Form["depts"].Trim(); Html.DropDownList()赋默认值: 页面代码如下: <%        ...

  2. Lipo Error!! can't open input file

    参考文章:http://stackoverflow.com/questions/17348912/lipo-error-cant-open-input-file I got it to Work, i ...

  3. svn :Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。

    Can't connect to host *.*.*.*': 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败. -------------------------------- ...

  4. iOS之设置状态栏颜色

    状态栏的字体为黑色:UIStatusBarStyleDefault 状态栏的字体为白色:UIStatusBarStyleLightContent 一.在info.plist中,将View contro ...

  5. debian 开启SSH

    1.修改sshd_config文件,命令为:vi /etc/ssh/sshd_config 2.将#PasswordAuthentication no的注释去掉,并且将NO修改为YES  //我的ka ...

  6. <你不知道的JavaScript>读书笔记

    近几天看了一本不错的 JavaScript 的书,是 Kyle Simpson 写的 <You Don't know JS>.这本书是 Kyle Simpson 在 Github 上的开源 ...

  7. ant design 树形组件怎么使用

    getDefaultProps doesn't work with ES6 syntax; warning is not helpful 解决后: 参考地址:https://github.com/fa ...

  8. java 网络API访问 web 站点

    package cn.magicdu.think.socket; import java.io.BufferedReader; import java.io.InputStreamReader; im ...

  9. infopath 之绑定列表 数据源

    在psd中启动infopath更新表单模版 注:虽然可能在infopath design中预览的时候会报错说是跨域数据不能加载,别理他 继续发布上站点就不会有这个错误了. 绑定list后效果: 参考u ...

  10. centos下 forever: 让nodejs应用后台执行

    在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...