Raspbian下安装paramiko模块

简介

起初在Raspbian下安装paramiko模块是为了实现将一个文件(其中包含一串控制无人机PWM的自己定义规则的数据),通过树莓派上传到云服务器再从另一台树莓派上下载数据控制飞行,所以就想写一个脚本来自动登录云服务器,就得安装python中SSH相关的模块。。呃后来折腾了好半天才安装完,搞完才知道用MQTT协议传输字符更方便,不过还是值得记录一下的,第一次写这种技术博客,要是有什么更好更方便的做法欢迎交流学习。

SSH服务检测

一般树莓派的系统开机默认SSH是Enabled的,或者在raspi-config中修改一次就行。所以这一步基本可以跳过,当然要是你的树莓派真的没有开通SSH服务那就执行以下步骤试试(笔者这一步没操作,就当没事写写,权当学习)
(1)安装SSH服务

$ sudo apt-get install openssh-server

(2)查看安装是否成功

$ ps -e | grep ssh

ps是Linux进程查看命令,-e代表环境变量,配合grep命令可以寻找列表中的特定内容ssh
sshd说明服务已开启
(3)开启SSH服务
如果上面执行结果显示没有sshd说明服务未开启,这时需要到etc中开启

$ sudo /etc/init.d/ssh start
#此时程序会提示如下信息
[ ok ] Starting ssh (via systemctl): ssh.service.

#顺带提一下这个的其它用法
[info] Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}.

#另外,喜欢折腾的可以在文件夹/etc/ssh中自己配置openssh-server

安装paramiko的依赖关系

安装paramiko需要依赖两个东西:python3.3以下(目前paramiko只支持到3.3版本)、PyCrypto模块

#python安装就不用说了,查看python版本
$ python -V

安装PyCrypto模块

下载安装包并解压

$ wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz
$ tar -zxvf pycrypto-2.6.tar.gz

接下来笔者直接执行安装命令,结果提示致命错误

src/MD2.c:31:20: fatal error: Python.h: No such file or directory
#找不到Python.h这个头文件

这是因为还没安装python-dev包,建议以root权限执行

$ apt-get install python-dev
$ cd pycrypto-2.6/
$ python setup.py build && python setup.py install

安装完成,打开python测试>>import Crypto

安装paramiko模块

安装好依赖关系,否则会一系列无解报错

$ sudo apt-get install build-essential libssl-dev libffi-dev

libffi-dev这个安装时可能有点头疼,它依赖于libffi6,而笔者安装时就遇到安装了libffi6也无法安装libffi-dev,可以参考一下这篇博文
之后再开始执行安装命令

$ wget http://github.com/paramiko/paramiko/archive/master.zip
$ unzip master.zip
$ cd paramiko-master/
$ python setup.py build && python setup.py install

同样,安装完python导入一下模块测试就行。
总之,这个安装过程还是很依赖环境的,不同的人会有不同的情况,笔者的两个树莓派用同样的思路安装就出现了不一样的bug。。

你可能感兴趣的:(树莓派)