给 manjaro 安装 pyraf

以往都是在 ubuntu 系统上安装使用pyraf,最近尝试在 manjaro 上安装 pyraf, 版本 manjaro 18.1.0 ,安装过程简直是灾难。首先是按照 iraf_step_by_step_installation_64bit(此安装教程原文链接是http://www.astronomy.ohio-state.edu/~khan/iraf/iraf_step_by_step_installation_64bit,因为担心链接失效,这里做了一个备份)来安装iraf。安装过程比预期复杂很多,主要是依赖问题。如教程中所示,iraf有一些外部依赖(tcsh libxss1 lib32z1 lib32ncurses5 lib32bz2-1.0 libXmu6:i386),这些依赖在 ubuntu 下很容易找到和安装,但是 pacman 和 yaourt 怎么找到这些依赖则相对费劲。后来勉强找到所有的依赖(不能保证版本正确),开始正式安装iraf。安装过程一切正常,提示安装成功。然后就是在主目录下建立 iraf 目录,这里请注意,iraf 的配置文件所在目录名字应该是小写的 iraf ,而不是教程中的 IRAF 。目录大写还是小写对iraf本身没有影响,但是在安装pyraf的时候,如果目录大写,pyraf 就会有问题,不知道算不算是 pyraf 的 bug 。

mkiraf 之后,在终端中调用 ecl 失败,提示缺少依赖的库文件,在 /usr/lib 下发现存在名称类似的库文件,不过版本不同。尝试通过软链接建个假名字,发现有些不同版本的共享库真的不能通用,不过有一些还是能用软链接伪造的。只能网上搜索对应版本的库怎么安装了,manjaro 上的一些包可以在 AUR上找到,可以手动下载下来,使用 pacman 安装

sudo pacman -U package_name.tar.xz

 经过多次测试和查找,才解决所有的依赖问题,这个过程真是折磨人。中间一度选择安装 anaconda,通过 conda 来安装 iraf 和 pyraf 。但是现在 anaconda 会在终端启动时加一些乱七八糟的东西,还在终端上弄个 (base) name@comp 这样特别丑陋的显示。安装完之后,启动 ds9 还出问题,pyraf 也不能顺利启动,我已经烦躁到不愿意再查找该怎么解决这些问题了。

继续手动安装 iraf 和 pyraf 。这里可能需要说明一下,因为 iraf 官方已经倒闭,iraf 软件已经没地方能下载,我还是使用以前下载保存的版本来安装。相应的文件已经上传到 github 和 gitee ,有需要的可以直接下载。

接着安装 pyraf ,但是发现 manjaro 18.1.0 现在已经没有 python 2 版本的 pip 了,不确定 python3 是不是还能正常运行 pyraf。保守起见,还是选择先想办法安装 pip2 ,然后用 pip2 安装 pyraf 。pip 的安装脚本在如下网页https://pip.pypa.io/en/stable/installing/。下载之后执行

sudo python2 get-pip.py
sudo pip2 install pyraf

安装完之后,启动 pyraf 后无法打开图形界面,想起来可能是因为没有安装 libx11 等显示相关的包,把一些可能会调用的包安装好之后,还是同样显示不了图像界面。本来想看一下 pyraf 启动时的错误提示,但是坑人的 manjaro 终端在 pyraf 启动最后的刷屏之后就看不到之前显示的信息了。这个行为和 ubuntu 下的终端很不一样,ubuntu 下的终端执行刷屏命令后,还是能往上翻页看到更早的记录,刷屏相当于翻页。没想到 manjaro 终端采取了完全不同的处理方式。

没办法只能用 vokoscreen 录屏,然后播放视频看 pyraf 启动时的错误信息是啥……..

发现是无法导入 tkinter 包,原来 manjaro 现在对 python2 的支持非常弱,竟然连图像显示的支持都缺失。安装 tk 后终于解决问题,pyraf 终于能用了。

ds9 同样也会有问题,这里推荐使用官方下载地址的 Ubuntu 16.04 的下载版本。其他有些版本存在共享库版本差异以至于不能正常启动的问题。查看二进制文件的依赖可以使用 ldd 命令,该命令同时还能看到当前的电脑上相应的依赖是否存在。

在 manjaro 上的 iraf 安装过程,怎么说,真是对心灵的折磨!折腾到将近一点才解决所有的问题,各种依赖太蛋疼了,需要的软件包越来越不好找,安装到最后都愤怒了! pyraf 这种老旧的软件就应该消失在历史长河里,但是我竟然还在用,而且还习惯性的一直用~~~

Visits: 378

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

*