原文地址:UE4/UE5 SwitchBoard无法启动的原因以及解决办法 - 哔哩哔哩SwitchBoard的运行原理: SwitchBoard是一个基于python环境下运行的程序,所以只有当所有环境都正确的安装的情况下才能正常启动。这里打一个简单的比方,当你在python的脚本文件下,输入有一串错误代码,或者错误修改SwitchBoard的代码。最典型的特征的情况就是无法启动,而且没有任何提示。 按照通常软件的设计逻辑,软件的做法应该是抛出异常,让用户知道错在哪了。这里虽然不知道为啥虚幻没设计这个模块,但是有一个猜测,就是使用Switchboardhttps://www.bilibili.com/read/cv16500536?spm_id_from=333.999.0.0
SwitchBoard的运行原理:
SwitchBoard是一个基于python环境下运行的程序,所以只有当所有环境都正确的安装的情况下才能正常启动。这里打一个简单的比方,当你在python的脚本文件下,输入有一串错误代码,或者错误修改SwitchBoard的代码。最典型的特征的情况就是无法启动,而且没有任何提示。
按照通常软件的设计逻辑,软件的做法应该是抛出异常,让用户知道错在哪了。这里虽然不知道为啥虚幻没设计这个模块,但是有一个猜测,就是使用Switchboard的团队有两种。一种完全不需要编程的团队,对于这种团队。给出复杂的报错信息反而会很迷惑。一种则是拥有编程团队的大组织,这种团队有能力解决这些问题。甚至可以自定义自己的图形界面。当然这对于了解SwitchBoard逻辑框架的大佬来讲不难。
1. 首先我们来看看启动Switchborad的插件目录:
插件目录
2. 首先进入到Source文件夹下,定位到”SwitchboardMenuEntry.cpp“文件第38行,看虚幻到底干了什么事情?
这里绑定了:OnLaunchSwitchboardClicked函数,找到了函数,就可以知道虚幻接下来干什么了。
3. 通过函数指定要运行的文件,然后执行。
注意:标红的位置,代表分别执行的文件是哪两个
windows:switchboard.bat
linux: switchboard.sh
4. 既然知道虚幻到底执行了什么,我们就直接找到文件然后运行它。(比如我这里就是无法打开Switchboard的状态)
先看问题的表象:在文件导航栏直接输入:”cmd“,然后输入要运行的文件”switchboard.bat“。
双击bat:就会复现”一闪而过的现象“,因为命令行不会驻留在那。
通过这串报错我们可以知道:”C:\Program Files\Epic Games\UE_4.27\Engine\Extras\ThirdPartyNotUE\SwitchboardThirdParty\Python\Scripts\activate“
在我们的这个目录下缺少了啥,导致程序无法启动。(这里就是:环境库不全)
1. 定位到引擎位置,然后设置各环境变量的存储位置
2. 然后就进入主函数了,这里定位到23行
这里结合第一步,你会发现bat文件是通过判断pyVenvDir的目录是否存在来辨别环境是否存在。
这里其实就是一个“坑”,假如我有了这个文件夹,但是文件夹是空的。他就执行后面的操作了。实际上python的运行环境啥也没装,这就是为什么会点了啥也不发生的原因。
2. 接下来我们看第二个判断语句:if not exist _pyVenvDir 。
这就是我们第一次点击Switchboard进行的操作。
调用:"setup_python_venv"函数
3. 然后!看看具体干了什么:
注意:关键的部分来了,这是导致启动不了的关键:
这里需要下载python的库然后将他们塞到对应的python环境的文件夹里面。
由于国内网络环境的原因,通常会出现断连的情况。有的是超时断连后控制台直接跳出了。当然不排除有的运营商或者地区网络政策不一样能下载下来,就能正常打开。
4.那switchborad是怎么启动的呢?参考bat中下面代码
好了基本能知道我们在点击按键,虚幻为我们干了什么?哪些环节比较薄弱,导致我们会启动不了。
步骤:
进入这个目录:switchboardThirdParty然后删除python文件夹 作者:怪兽果锅 https://www.bilibili.com/read/cv16500536?spm_id_from=333.999.0.0 出处:bilibili
添加如下地址:
豆瓣
http://pypi.douban.com/simple/
清华大学
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云
http://mirrors.aliyun.com/pypi/simple/
中国科学技术大学
http://pypi.mirrors.ustc.edu.cn/simple/
当你的目录正常之后,意味着你已经可以启动你的Switchboard了。
其他问题:关于一部分人,安装好后仍然不能启动的问题解决办法。
***** 非常重要 *****
请不要将你的项目名设置成中文,比如官方示例的:“虚拟制片”,请务必改成英文。
不排除部分人中文名可用,这是由于部分人系统装的是Windows英文版,在字符集这块有差异。如果是开发人员我也建议您将系统换成英文版镜像,并且项目中尽可能用英文或者英文不行就拼音。