如果你在百度搜索aix7.1安装python,那么搜到的方法都是通过rpm进行安装,可是aix系统安装rpm往往有一个通病,就是失败率极高,而且需要手动解决依赖。比如我在下面的地址下载不同版本python的rpm包
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
下载下来的rpm包,安装的时候都会报错,而且不告诉你报错的具体原因,如下
# rpm -ivh python-2.7.13-1.aix6.1.ppc.rpm
error: python-2.7.13-1.aix6.1.ppc.rpm cannot be installed
在好几台机器上试过了多个版本的python2/3 rpm安装包,都是报这个错误,所以在aix上使用rpm包安装太不靠谱了,成功率极低。
好在aixtools.net为我们编译了installp格式的安装包,让我们可以方便的使用AIX系统自带的smit工具安装python 2/3,而且无需手动安装大量的依赖包,防止由于找不到合适的依赖包而导致安装不上的窘境。
安装步骤很简单
1、安装OpenSSL
python需要安装openssl的依赖,安装openssl非常的容易,IBM给出了官方的安装包,可以参考下面这篇文章的方法安装openssl,不在本文赘述。如果你的机器已经安装了SSH,那么也无需再装openssl。
https://www.cnblogs.com/JesseFang/p/3399736.html
2、下载python安装包
到http://www.aixtools.net/index.php/python 下载python的installp格式安装包
这里可以选择python2,也能下载python3,而且你可以两个都下载安装,本文以python 2.7.12.3为例
下载下来以后大约50M的安装包。
3、smit安装
首先登录到AIX主机上,建立一个临时目录/tmp/pyinstall/
然后把我们从网上下载的安装包上传到这个目录下面。
执行
smit install
选择第一项“Install and Update Software”,敲回车
再选择第一项“Install Software”,敲回车
然后需要输入安装包所在的目录,这里输入“/tmp/pyinstall”
然后把光标移动到第二项“SOFTWARE to install”,按下F4进行选择,就会在屏幕下方出现如下对话框,把光标移动到aixtools.python,然后按下键盘上的F7
当aixtools.python前面出现>符号时,敲回车继续
此时SOFTWARE to install就从_all_latest变成了aixtools.python
然后把光标移动到ACCEPT new license agreements,按下键盘F4,选择yes,回车
然后继续按回车,确认并安装
最后静静的等待,直到出现Command:OK,我这里使用power8的CPU,32个逻辑核心,都需要接近一分钟的时间
此时,python就被安装到了/opt/bin下面,如下
bash-4.3# cd /opt/bin/
bash-4.3# ls -l
total 7664
-rwxr-xr-x 1 bin bin 95 Sep 29 2016 2to3
-rwxr-xr-x 1 root system 232 Feb 26 14:00 easy_install
-rwxr-xr-x 1 root system 232 Feb 26 14:00 easy_install-2.7
-rwxr-xr-x 1 bin bin 93 Sep 29 2016 idle
-rwxr-xr-x 1 root system 204 Feb 26 14:00 pip
-rwxr-xr-x 1 root system 204 Feb 26 14:00 pip2
-rwxr-xr-x 1 root system 204 Feb 26 14:00 pip2.7
-rwxr-xr-x 1 bin bin 78 Sep 29 2016 pydoc
lrwxrwxrwx 1 root system 7 Feb 26 14:00 python -> python2
lrwxrwxrwx 1 root system 14 Feb 26 14:00 python-config -> python2-config
lrwxrwxrwx 1 root system 9 Feb 26 14:00 python2 -> python2.7
lrwxrwxrwx 1 root system 16 Feb 26 14:00 python2-config -> python2.7-config
-rwxr-xr-x 1 bin bin 3863139 Sep 29 2016 python2.7
-rwxr-xr-x 1 bin bin 1681 Sep 29 2016 python2.7-config
-rwxr-xr-x 1 bin bin 18541 Sep 29 2016 smtpd.py
这里的python是python2的一个软连接,(如果安装python3那么就连接到python3上去),但是用于/opt/bin往往不在AIX的环境变量PATH中,所以我们需要把这里的python文件复制到/usr/bin下面,这样使用起来就跟linux上一样了,在编写脚本的时候也可以直接拷贝linux下面的#!/usr/bin/python开头的脚本使用,无需修改
cp /opt/bin/python /usr/bin/
由于/opt/bin/python本身就是一个软连接,所以可以直接复制
然后我们就可以正常的使用python了
# python
Python 2.7.12 (default, Sep 29 2016, 12:02:17) [C] on aix5
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello world")
hello world
>>>