问题产生场景
先看一下我是怎么遇到这个问题的吧,
运行cmd(非管理员身份)
cd跳转到\Engine\Binaries\Win64
运行命令
UE4Editor-Cmd.exe “工程路径” -run=pythonscript -script=“脚本路径”
可能的解决方案0
在遇到事情之后,你肯定逃不掉先看看官方文档
https://docs.unrealengine.com/4.26/en-US/ProductionPipelines/ScriptingAndAutomation/Python/
可能的解决方案1
你的引擎版本低于4.20,commandlet是4.20添加的新特性,升级你的引擎
https://forums.unrealengine.com/t/how-to-run-python-with-ue4editor-cmd-exe-in-unreal-engine-4-19/123032
可能的解决方案2
查看两个script插件是否处于Enable状态
修改文件配置将EnabledByDefault设为True
Engine\Plugins\Editor\EditorScriptingUtilities\EditorScriptingUtilities.uplugin
Engine\Plugins\Experimental\PythonScriptPlugin
https://forums.unrealengine.com/t/running-python-through-the-command-line/118877/3
可能的解决方案3
UE4对于Commandlet只能识别出特定类的命名,对于脚本文件我们可能需要更改一下脚本名称
命名必须采用xxxxxxCommandlet的形式
https://blog.ch-wind.com/ue4-editor-helper-dev-note/
可能的解决方案4
cmd指令你空格没加好。。。
这种情况下你还可能会莫名其妙启动引擎(((
可能的解决方案5
不要使用cd跳转,直接锁定UE4Editor-Cmd.exe后执行
即命令改为
\Engine\Binaries\Win64\UE4Editor-Cmd.exe "工程路径" -run=pythonscript -script="脚本路径"
备选方案
如果还是不行的话建议改为使用
UE4Editor-Cmd.exe “工程路径” -ExecutePythonScript=“脚本路径”
缺点就是它必启动引擎。。。