系统环境: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.再次测试,通过。