来由
想来想去要用pexpect来取代bash脚本作ssh自动登录,然后就去准备安装pexpect包了
走过的路
前提:
1、主机无法使用root用户
2、主机处于离线状态
3、主机python版本2.4
开始搞:
1、 官网下载pexpect安装包上传到主机上
tar -zxvf 解压
cd pexpect-4.2.1
python ./setup.py install
然后就报错了……
File "setup.py", line 12
with open(os.path.join(os.path.dirname(file), 'pexpect', 'init.py'), 'r') as f:
^
SyntaxError: invalid syntax
2、 根据以往经验,以为是没有root用户权限,在install时一些环境变量之类的没获取到或者是异常,然后baidu到了这篇文章python pexpect 学习与探索,上面说明是可以用非root用户安装。根据该文章的方式,设置了基于pexpect安装包的路径
sys.path.append('pexpect-4.2.1/build/lib')
python ./setup.py install
依旧报错:
File "setup.py", line 14
with open(os.path.join(os.path.dirname(file), 'pexpect', 'init.py'), 'r') as f:
^
SyntaxError: invalid syntax
3、 baidu无力,又Switch to Bing in English继续查(别问我为啥不用google,速度太慢……),找到了一篇略有关系的文章:无root权限安装python。前些日子做后台时想用Django时,就被这个2.4version坑了一回,这次想了想,自己真得再装一个python了。又去官网下了一个python2.7安装包传主机上了
tar -zxvf Python-2.7.3.tgz #tgz也是tar包
touch python27 #为了放lib库等又建了个目录
cd Python-2.7.3
vim configure %s#/usr/local#../python27/g #替换掉默认目录,谁让原来那个目录只有root能访问的……
make install
稳稳的安装上了\xiaoku
使用该python再次安装pexpect,这次也没问题安装上了。
使用该python验证<code>import pexpect</code>发现,还有一个依赖包<code>ptyprocess</code>不存在……
又去官网下了一个ptyprocess包再次使用该python安装上,再次测试pexpect,终于成功了。
(安装后的路径为../python27/g/lib/python2.7/site-packages)
后记
0911根据上述方案又装了psutil
上传gz文件到主机上
-
执行:
tar -zxvf psutil-5.2.2.tar.gz cd psutil-5.2.2 make clean 绝对路径/Python-2.7.3/python setup.py install
-
使用python27验证:
import psutil
PS:
使用当前python进行install时,默认安装路径都是到了修改的configure文件中的python27目录下g/lib/python2.7/site-packages目录了
4、本该结束了,可发现了一个小问题,在2.7版本里pexpect包好像存在了0.0,只是缺少了ptyprocess这个依赖包-_-!。没有验证2.7是不是真的已预装pexpect……。