UE5 Switchboard 無法啟動(dòng)的原因以及解決辦法

簡(jiǎn)述:
?????????Switchboard一直處于更新狀態(tài),所以方法也會(huì)隨著更新發(fā)生新的變化,因此要憑一個(gè)文件就解決以后所有更新這方面的問題不大實(shí)際,這里需要大家自己去理解Switchboard.bat的工作原理??梢哉f新版的比老版的更為復(fù)雜,同樣也在邏輯上更加嚴(yán)密。

一.先查看Switchboard.bat文件,這里是所有調(diào)用的開端。
先設(shè)置目錄變量:
1.switchboard目錄(當(dāng)前目錄)
2.跳轉(zhuǎn)命令(將目錄跳轉(zhuǎn)到Engine目錄)
3.引擎目錄
4.引擎python平臺(tái)目錄
5.默認(rèn)虛擬環(huán)境目錄

二.設(shè)定使用哪里的虛擬環(huán)境
這里主要是使用自定義虛擬環(huán)境路徑還是使用默認(rèn)的虛擬環(huán)境路徑

三.調(diào)用主函數(shù)
第一步:呼叫主函數(shù):call:main
然后分析主函數(shù)干了什么?
1.if not exist "%_venvDir%\Scripts\pythonw.exe",如果虛擬環(huán)境下不存在puthonw.exe。簡(jiǎn)單點(diǎn)說就是虛擬環(huán)境不存在的話。
2.call "%_enginePythonPlatformDir%\python.exe" "%~dp0\sb_setup.py" install --venv-dir="%_venvDir%",這里的意思是,使用虛幻提供的python3中的python.exe,執(zhí)行Switchboard目錄下的sb_setup.py,安裝到虛擬環(huán)境中"%_venvDir%"。
3.下面的if是,如果遇到報(bào)錯(cuò)就拋出錯(cuò)誤。

4.然后調(diào)用”call:start_Sb“函數(shù)
第一步:設(shè)置Python路徑
第二步:?jiǎn)?dòng)switchboard,這得借助pthonw.exe。

四.重要部分,跳轉(zhuǎn)的”sb_setup.py“,這部分是python腳本
這里導(dǎo)入的類比較多,內(nèi)容也比較復(fù)雜。我就不用過大的篇幅去復(fù)述每個(gè)部分的功能和作用
主要有以下五個(gè)部分:
1. 查找引擎原始目錄:ef find_engine_ancestor_dir(start: pathlib.Path) -> pathlib.Path:
2. 路徑變量設(shè)定:也就運(yùn)行Switchboard各部分文件的目錄
3. Switchboard虛擬環(huán)境構(gòu)建類:class SbEnvBuilder(venv.EnvBuilder):
4. Switchboard啟動(dòng)的類:class SbSetup:
5. 主函數(shù)的入口:def main()->int;

其實(shí)關(guān)于虛擬環(huán)境的安裝的主要部分從以上的類函數(shù),我們直接跳轉(zhuǎn)到:class SbEnvBuilder(venv.EnvBuilder)

直接上圖:

這里有一個(gè)參數(shù)組:結(jié)合上一篇專欄中參數(shù),細(xì)心的人就會(huì)注意到相似的地方。
其實(shí)這次是使用python的執(zhí)行代碼實(shí)現(xiàn)以上的安裝功能。
六.解決辦法(使用國內(nèi)的源加速下載)
1. 同樣的可能在第一次switchbooard啟動(dòng)可能會(huì)提示,”pythonw.exe -m pip install --upgrade pip“
按照提示的目錄切換到對(duì)應(yīng)的目錄,啟用”cmd“
然后輸入如圖命令行

2. 像如圖所示的部分,添加代碼。

添加如下地址之一:
豆瓣
http://pypi.douban.com/simple/
清華大學(xué)?
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云
http://mirrors.aliyun.com/pypi/simple/
中國科學(xué)技術(shù)大學(xué)
恭喜你,新的版本Switchboard可以隨意使用了!
歡迎關(guān)注三連!