本文主要記錄在ubuntu18.04上部署單機Fate1.6時遇到的問題以及解決方案。
參考至:Fate官方部署指南
一、准備工作
【1】win10上通過Hyper-V 安裝的Ubuntu18.04的虛擬機;
【2】win10上安裝FileZilla + Ubuntu上開啟ftp服務,兩者之間互傳文件;
- win10上下載linux上Professional版本的PyCharm,並上傳至ubuntu用戶的Downloads目錄下;
- win10上下載單機1.6.0版本的Fate,並上傳至ubuntu用戶的Downloads目錄下;
二、Ubuntu18.04上部署單機Fate1.6.0
【1】檢查本地8080、9360、9380端口是否被占用;
netstat -apln|grep 8080
netstat -apln|grep 9360
netstat -apln|grep 9380
【2】解壓fate包(standalone_fate_master_1.6.0.tar.gz);
在壓縮包所在目錄下(/home/用戶名/Downloads)進入終端,並解壓至用戶主目錄的tool(/home/用戶名/tool)文件夾下;
說明: ~代表/home/用戶名
tar -xzvf standalone_fate_master_1.6.0.tar.gz -C ~/tool
【3】進入Fate目錄並執行init.sh,
此步會在fate目錄下生成venv和miniconda文件夾,並在files目錄下下載需要的安裝包;
cd standalone_fate_master_1.6.0
# 此處sh執行會報錯[[:not found,Ubuntu需改為bash命令,但我改為bash后仍報錯
bash init.sh init
問題一:bash初始化fate,報錯[[: not found 、 file not found: /bin/init_env.sh : source not found
原因 :發現是在下載files/pip-packages-fate1.6.0 文件后出現問題,可能是安裝其中的安裝包時出現問題;
解決辦法:進入虛擬環境,查看目前已安裝的包,發現僅僅安裝了兩個包, 嘗試手動安裝所需的包;
# 手動進入python虛擬環境venv
source bin/init_env.sh
# (可選) venv中安裝fate-client 和 fate-test
pip install fate-client
pip install fate-test
# venv中使用pip list 查看安裝的包,發現僅僅安裝了兩個包--截圖是所有包已安裝完成
pip list
# venv中進入files/pip-packages-fate-1.6.0,
cd files/pip-packages-fate-1.6.0
# 顯示所有需要安裝的包(此處的whl文件和tar.gz文件是初始化fate時下載的安裝包)
ls
# 手動安裝剛ls顯示的所有包 ,好像可以一次性安裝所有包,但是我是一個一個安裝的;
pip install .whl 或 .tar.gz文件
安裝完成即可;
---此處安裝的包都在venv/lib 目錄下,
所以之后pycharm的python intepreter應該選擇venv/bin/python3.6;
三、使用PyCharm進行開發和調試Fate
【1】安裝PyCharm,並打開fate項目;
# 解壓 pycharm壓縮包
tar -xzvf pycharm-professional-2021.1.3.tar.gz -C ~/tool
# 進入pycharm文件的bin目錄
cd ~/tool/pycharm-2021.1.3/bin
# 安裝PyCharm
sh ./pycharm.sh
之后出現提示框:Accept -> Evaluate for free 即可;
【2】使用PyCharm運行fate_flow_server.py並進行Toy測試
- 設置python解釋器,
- 並將python目錄設置為source root,
- 運行python/fate_flow/fate_flow_server.py ,
- 並進行Toy測試;
1、設置python解釋器:file -> setting-->Python Interpreter 一定要選擇 fate目錄下 venv/bin/python3.6 因為項目是在虛擬環境中運行的;
2、fate_flow_server.py 代碼中有模塊無法識別:
點擊fate項目下的python目錄,右鍵選擇Mark Directory as --> Sources Root
3、執行fate_flow_server.py成功
4、進行Toy 測試(fate項目/examples/toy_example/run_toy_example.py)
toy測試需要配置參數
toy測試運行成功;