linux_centos安装openslide

系统环境:linux6.7+python3.6

方法一:直接使用yum安装+pip安装

centos的yum没有自带的openslide,可以使用阿里云的仓库:

1.更换阿里云:

备份之前的yum库:

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

使用阿里云yum:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

刷新yum仓库缓存列表:yum clean

yum makecache

在直接使用yum指令安装openslide(该指令安装的版本为3.2.6)

yum install openslide

最后使用pip3安装openslide-python

pip3 install openslide-python

方式二:使用openslide源码安装

1.下载openslide源码包(本次安装的为3.4.1):

https://openslide.org/download/

2.解压安装包:

tar -zxvf /mnt/data1/cell_cut/openslide-3.4.1.tar.gz

3.进入openslide文件夹,执行configure指令,验证安装环境

./configure

4.发现会报缺少一些package,需要通过yum安装这些package。

必要的安装库:zlib, libpng, libjpeg, libtiff, OpenJPEG 1.x or >= 2.1,GDK-PixBuf, libxml2, SQLite >= 3.6.20, cairo >= 1.2, and glib >= 2.16

5.centos自带的yum仓库好多包都下载不了,需要使用阿里云的仓库下载,参照方法一即可。

6.yum切换后,开始下载缺少的package:

yum install libjpeg-turbo-devel.x86_64
yum install openjpeg-devel.x86_64
yum install openjpeg2-devel.x86_64
yum install libtiff-devel.x86_64
yum install glib2-devel.x86_64
yum install cairo-devel.x86_64
yum install gdk-pixbuf2-devel.x86_64
yum install libxml2-devel.x86_64
yum install sqlite-devel.x86_64


安装完后,再次执行./configure --prefix=/usr/local/openslide-3.4.1
若还缺少package则继续安装下载,知道验证通过。

执行 make && make install

7.安装成功后,再使用pip3安装python的openslide-python

pip3 install openslide-python

8.安装成功后,进入python的shell界面测试:

import openslide

发现lowlevel.py报错,找不到libopenslide.so.0文件。需要将openslide的lib放入classpath路径下

vim /etc/ld.so.conf
--加入openslide的lib路径
/usr/local/openslide-3.4.1/lib

--刷新classpath缓存
/sbin/ldconfig

---再次验证,发现通过。

方法三:使用copy大法

前面我们通过源码安装了openslide,现在需要给其他机器也安装,则直接使用copy大法即可:

已安装主机:name2
待安装主机:data8
1.查找name中openslide的lib目录
find / -name libopenslide.so
位置:/usr/local/lib

2.把name2中该lib包复制到data8上:
scp -r root@name2:/usr/local/lib /usr/local

3.lib中包含几个软连接,而软连接复制的话会直接被copy成文件,所有需要删除软连接文件,重新生成软连接,最终形成的文件要与name中/usr/local/lib一致:
--删除软连接
rm -rf libjpeg.so libjpeg.so.8 libopenslide.so libopenslide.so.0
--生成软连接
ln -s /usr/local/lib/libjpeg.so.8.3.0 /usr/local/lib/libjpeg.so
ln -s /usr/local/lib/libjpeg.so.8.3.0 /usr/local/lib/libjpeg.so.8
ln -s /usr/local/lib/libopenslide.so.0.4.1 /usr/local/lib/libopenslide.so
ln -s /usr/local/lib/libopenslide.so.0.4.1 /usr/local/lib/libopenslide.so.0

将/usr/local/lib加入到库路径下

vim /etc/ld.so.conf

/usr/local/lib
再执行语句即可:
/sbin/ldconfig

4.安装完毕,再copy一个name2中的python3过来
scp -r root@name2:/usr/local/python3 /usr/local

5.建立python的软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

6.启动python,测试openslide
python3
>> import openslide
报错,缺少libopenjp2.so.7

7.在name2上查找libopenjp2.so.7
find / -name libopenjp2.so.7
文件位置:/usr/lib64/libopenjp2.so.7
检查libopenjp2.so.7是否是软连接
ll /usr/lib64/libopenjp2.so.7
发现libopenjp2.so.7是一个软连接,指向的是libopenjp2.so.2.3.0

8.copy文件libopenjp2.so.2.3.0至data8
scp -r root@name2:/usr/lib64/libopenjp2.so.2.3.0 /usr/lib64
创建软连接: ln -s /usr/lib64/libopenjp2.so.2.3.0 /usr/lib64/libopenjp2.so.7

9.再次测试,通过。

转载于:https://my.oschina.net/shea1992/blog/1829730

猜你喜欢

转载自blog.csdn.net/weixin_34005042/article/details/91967378