2017/12/16

Linux 系統安裝“大正藏在线阅读”程序

2019/08/17 更新

【目錄】


前言
安裝 python 3.6
 1. 下載
 2. 解壓
 3. 安裝工具
 4. 安裝 python 3.6
 5. 建立 python 3.6 環境
大正藏在线阅读程序
 1. 取得檔案
 2. 加入藏經檔
 3. 取得並修改 make_xml.py 檔
 4. 在 python 環境中安裝必需程式庫
 5. 修改 xml 檔
 6. 啟動閱經器
 7. 再啟動閱經器
後語


【前言】


前篇已敘述了用 Wine/PlayOnLinux 安裝 CBETA 閱經器 CBReader 的方法,本篇介紹北京趙文平大德發心編寫的閱經器。因其主要以 python 撰寫並使用 W3C 的 XSLT 呈現經文,故可跨平台;而且不要求版權,無償供人使用;雖然目前仍在積極開發中,尚未完備,但架構已成,值得介紹。

此閱經器要在 python 3.6 的環境中執行,所以下文先介紹下載安裝 3.6 版的方法,才談閱經器。

因為每個 Linux 版本所安裝的程式不同,為了得知安裝時所需的程式,本例特別使用了一個較簡單、沒有安裝很多應用程式的 Debian 10 系統。以下提及要安裝的程式,若諸位的系統已經有了,略過即可。



【安裝 python 3.6】


1. 下載

wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz
壓縮檔 16 M。


2. 解壓

tar --extract --xz --file Python-3.6.9.tar.xz
產生的目錄 Python-3.6.9 約 80 M。


3. 安裝工具

sudo apt install make gcc zlib1g-dev libssl-dev
make 是編譯工具。
 gcc 是 C 語言編譯器。
 zlib1g-dev 是壓縮程式庫。
 libssl-dev 並非安裝 python 所需要的,但後面在 python 環境中安裝程式時要用到,而且必需包含在 python 內,所以在此一併安裝。

以上共 115 M。


4. 安裝 python 3.6

cd Python-3.6.9
./configure --prefix=$HOME/python36 --enable-optimizations
此例設定安裝目錄是 $HOME/python36,可自行更改。

sudo make && sudo make install
這要好一段時間(大約半小時),安裝完,目錄約 230 M。


5. 建立 python 3.6 環境

$HOME/python36/bin/python3.6 -m venv $HOME/py36
本例將環境放在 $HOME/py36,後面安裝程式庫後,約 113 M。


【大正藏在线阅读程序】


1. 取得檔案


有兩種方法,一是下載壓縮檔,二是用 git 複製的方法。用前者,每次想更新時,就要再下載一次;解壓後,取代原檔。若用後者,在該目錄中執行 git pull 即可更新。

 a. 下載法
wget https://github.com/zhaowenping/cbeta/archive/master.zip
unzip master
壓縮檔 150 M。解壓後,裡面是一個 cbeta-master 目錄,約 235 M。

 b. 複製法
sudo apt install git
含 git-man 和 liberror-perl, 共 38 M。

git clone https://github.com/zhaowenping/cbeta.git ${HOME}/cbeta-master
最後一項是目標目錄,這必需是空的或原本即無;若不給,預設是 ${HOME}/cbeta;為配合上項,此處用相同名稱。結束後,裡面多一個 .git 目錄。


2. 加入藏經檔


 a. 至 CBETA 官網下載 2016 版光碟,然後掛上。

 b. 將 CBReader/XML 目錄複製到 cbeta-master 目錄中。裡面如果是壓縮檔,必需全解開,共約 1.8 G。

 c. 將 H01 目錄改成 ZS01,裡面的檔案 H 改成 ZS。W?? 目錄改成 ZW??,裡面的檔案也要改。


3. 取得並修改 make_xml.py 檔


因為本閱經器是用 xslt 將 CBETA 的 xml 資料即時轉為 html 格式,才用瀏覽器顯示,所以必需修改 xml 檔,讓程式知道 xsl 檔的位置。而檔案約兩萬個,不太可能自己做。

 a. 請趙文平大德惠賜 make_xml.py 檔(在 cbeta-master/readme 檔末有其 email 信箱)。然後放在 cbeta-master 目錄中。

 b. 修改 make_xml.py 檔中第 95 行 xml 檔的位置。原本是:
for path in get_all_xml('../cbeta_tmp/CBReader/XML'):
因為前面將此 XML 目錄放在 cbeta-master 中,所以將路徑改為 './XML',也就是變成:
for path in get_all_xml('./XML'):
其下第 98-100 行的 xml 是輸出目錄,必需已存在,所以在 cbeta-master 目錄中新增小寫的 xml 目錄。


因為修改 xml 檔必需在 python 3.6 環境中做,所以底下先介紹 python 環境。


4. 在 python 環境中安裝必需程式庫


 a. 進入 python 環境
cd cbeta-master
. $HOME/py36/bin/activate
這時 prompt 最前面應該會有 (py36) 字樣。

 b. 更新及安裝
pip install --upgrade pip
pip install -r requirements.txt

5. 修改 xml 檔

python make_xml.py
新檔在 xml 目錄中,若無任何問題,可以刪除原本的 XML 目錄。


6. 啟動閱經器

python reader.py

啟動網路瀏覽器,在網址列輸入:http://localhost:8081http://0.0.0.0:8081

註:如果有安裝 NoScript 之類的擴充程式,要打開。


7. 再啟動閱經器


離開 python 3.6 環境要再啟動閲經器:
cd cbeta-master
. $HOME/py36/bin/activate
python reader.py
瀏覽器 http://localhost:8081http://0.0.0.0:8081


【後語】


1. CBReader 2018 版和 2016 版的目錄結構有些不同:

 a. 2016 版是每一部的目錄直接放在 XML 目錄中,而 2018 版放在先用字母分類的目錄中。
 b. 2016 的 H 是 2018 的 ZS,而 2016 的 W 在 2018 改成 ZW。
 c. 2018 版新增了 Y 目錄。


2. 因為所取得的 make_xml.py 只適用於 2016 版的 XML 檔,所以用於 2018 版的,會有點問題。也就是,校註無法依預期地顯示。


3. 不管是經題或全文的搜尋好像都還不能使用。


福慧增長



沒有留言:

張貼留言