Termux是一個Android終端仿真器和Linux環(huán)境應用程序,直接工作,無需根目錄或設置。一個最小的基本系統(tǒng)被自動安裝-額外的軟件包可以使用APT軟件包管理器來使用。不需要root,運行于內部存儲(不在SD卡上)。
安裝包,最好使用GooglePlay版本的,如果你無法下載GooglePlay版本的app,那你可以從F-Droid里面下載,(微信搜:anzhuojiaoben,關注我) 兩者是一樣的.F-Droid里面應該是不需要翻墻的. 或者下載我的這個包, 不過我忘記了,是不是我加工過的版本,可能修改了某些東西,如果介意,還是下載官方的, 總之不推薦從酷安下載的版本.
**Termux下載: **
百度網盤: https://pan.baidu.com/s/1nHGqIs29gJQOipOiQN7I2Q?pwd=1si5
我的網盤: https://pan.iqqclub.com:8001/d/c5ec7d40b7d04044962a/
密碼: rBNHx6
Python程序包下載:
百度網盤: https://pan.baidu.com/s/1njcp-tiszzlSrIR-jIn6XA?pwd=8biu
我的網盤: https://pan.iqqclub.com:8001/f/d1a53fe8078244579728/
密碼:Q7jnX8
接下來是安裝過程了:
新裝的用戶需要先進行更新操作
//換源, 換成國內的源,執(zhí)行命令后會出現(xiàn)UI,UI展示在下方的圖片上
// (微信搜:anzhuojiaoben,關注我)
termux-change-repo
//更新apt和升級現(xiàn)有軟件包(微信搜:anzhuojiaoben,關注我)
apt update && apt upgrade
// 注意在執(zhí)行upgrade時,過程中會卡住,提示你輸入,統(tǒng)一輸入 y 然后按回車即可
// 申請存儲使用權限,這個務必執(zhí)行,如果你想在termux或者linux系統(tǒng)中
//使用手機的sdcard目錄的話(微信搜:anzhuojiaoben,關注我)
termux-setup-storage
// 安裝linux系統(tǒng),這里使用debian
apt install proot proot-distro
proot-distro install debian
// 登錄debian系統(tǒng) 這條命令在你安裝完成debian后有提示
proot-distro login debian
為了方便輸入操作,(微信搜:anzhuojiaoben,關注我)建議另外安裝openssh( 如果你沒有電腦,請忽略,直接跳轉到, 進入debian操作的部分 )
//安裝過程中會提示輸入Y, 并回車, 或者直接加上 -y 參數
apt install openssh
//然后使用passwd命令去修改termux的用戶密碼
passwd
//執(zhí)行passwd命令時,如果有報錯,可能是因為 termux-auth沒有安裝
//手動安裝一下在試
apt install termux-auth
//查看termux的系統(tǒng)用戶名
whoami
//都設置完成后,需要啟動sshd服務
sshd
如上圖所示,我的用戶名為u0_a258, 然后設置了一個密碼,那么在PC上連接手機(手機電腦需要在同一個局域網內),那在電腦上連接的命令為
ssh u0_a258@192.168.123.85 -p8022
回車后,會提示你輸入剛才設置的密碼.8022是termux開放的ssh連接端口,
因為沒有root權限, 所以22端口無法被使用, 同理80 443等端口在termux沒有
root權限的情況下,也沒法直接使用.(微信搜:anzhuojiaoben,關注我)
windows電腦win10之上的系統(tǒng), 可以在powershell中使用ssh命令
下面進入debian去操作:
在debian系統(tǒng)中,使用的環(huán)境為 arm64, 而非aarch64,這也是為什么會在debian中去安裝, 而不是直接在termux中安裝,倘若在termux中安裝的話, 目前python版本為3.11.1并且沒有低版本提供安裝, 源碼編譯安裝還會遇到各種錯誤,需要一路過關斬將的去處理,非常復雜.
//關于debian更換國內源的方法, 這里就不提供了, 百度一下
//一堆一堆的教程.
//在debian中,同樣需要先更新
apt update && apt upgrade
//然后安裝必要的依賴包
apt install -y wget build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev vim
//下載python3.10的源碼包
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz
(微信搜:anzhuojiaoben,關注我)
//解壓程序包
tar xzf Python-3.10.0.tgz
cd Python-3.10.0
//開始編譯安裝python
mkdir /usr/local/python3.10
./configure --prefix=/usr/local/python3.10 --enable-optimization
//設置編譯配置,需要一段時間, 請耐心等待.
//完成后,開始編譯安裝, 注意安裝時間較長,注意保持手機不要鎖屏
make && make install
//編譯安裝完成后,驗證python版本
python3 --version
至此python3.10安裝完成, 下面是配置一下python的程序,并啟動服務了,程序很簡單, 就一個文件,但是需要安裝一堆的依賴
注意:
如果你輸入 python --version提示沒有python命令,請查看/usr/local/python3.10/ 內是否有文件,python和pip命令在 bin目錄下.
你可以直接使用絕對路徑來測試, 或者添加環(huán)境變量
/usr/local/python3.10/bin/python3 --version
//添加永久環(huán)境變量
echo 'export PATH=$PATH:/usr/local/python3.10/bin' >> /etc/profile
//執(zhí)行完上面的命令后, 檢查一下文件, 是否和下圖一致.
cat /etc/profile
(微信搜:anzhuojiaoben,關注我)
//如果和下圖一致,則執(zhí)行一下下面的命令
source /etc/profile
然后再在終端中輸入python3 --version,就不會出問題了
將上面下載的python程序包,放置到手機的/sdcard下并解壓,(路徑無絕對,你也可以放在/sdcard下的其他文件夾中.) 在debian系統(tǒng)中可以直接進入/sdcard文件夾訪問安卓(微信搜:anzhuojiaoben,關注我)手機的文件.如果你沒有, 那你一定是忘記在 termux中申請使用存儲權限的指令,需要回到termux中,重新申請一下, 再回到debian中,就有了.
或者使用命令直接下載(如果鏈接沒有失效的話):
wget https://pan.iqqclub.com:8001/seafhttp/files/91728b2f-4ec9-4e85-a4c8-b807db4bae49/ChatBot.zip
chatBot.zip 下面有三個文件
config.json 文件中是openAI的配置選項, 這里你主要設置一下api-key
chatbot.py 是主程序,除文件最后一行的端口號,可以修改外, 其他地方如果你不明白是什么意思, 請不要修改.
package.txt 是所有的依賴包,通過pip去安裝的
OpenAI的api-key需要你自己去openAI的官方注冊賬號,并申請一個api-key, 官方地址: https://beta.openai.com/login/
配置好你的api-key后, 開始安裝服務端.
//先進入到程序所在目錄
cd chatbot
//首先安裝依賴包
pip3 install -r package.txt
//安裝過程所用時間,根據你使用源的速度來定.安裝完成后執(zhí)行
//啟動服務端
python3 chatbot.py
//執(zhí)行后,會再次下載部分文件,如果出現(xiàn)下圖的提示,則為啟動成功了
因為我沒有使用wifi,服務端啟動的時候, 直接用的是我移動網絡的公網IP.如果你是wifi的話, 會提示你局域網的IP地址+端口號,(微信搜:anzhuojiaoben,關注我) 你使用電腦或者手機就可以直接訪問了, 下面我們用本機的Autojs來寫一段代碼,測試一下這個服務是否可以跑起來.
測試代碼:
let url = "http://127.0.0.1:5555/chat";
let data = {
msg : "哈哈,今天也是元氣滿滿的一天呢,是不是?",
uuid : "1234567890-abcd-efgh-ijkl-1234567890",
}
http.postJson( url, data, {}, function( res, err ) {
if ( err ) {
toastLog( err );
return;
}
let result = res.body.json();
let msg = result.data.msg;
console.log( msg );
} );
測試結果:
接口跑起來了, 測試沒問題, 那么就可以進行下一步了, 寫一個對話應用吧
-
Android
+關注
關注
12文章
3935瀏覽量
127339 -
Linux
+關注
關注
87文章
11292瀏覽量
209323 -
APT
+關注
關注
1文章
38瀏覽量
10822
發(fā)布評論請先 登錄
相關推薦
評論