Bootstrap Chameleon Logo

使用Python第三方库

君子善假于物也

随着我们的工具做的越来越复杂,我们肯定会需要用的各种Python的第三方库。第三方库的强大功能也将大大解放我们的工具在编辑器中的功能。

常用的第三方库

  • PIL(Pillow)
  • imageio
  • numpy
  • matplotlib
  • scipy-learn
  • easyocr
  • skimage

推荐做法

安装第三方库

  1. 创建一个虚拟环境

下面的例子中,将用UE引擎中的Python创建一个虚拟环境,方便我们后续用pip按照第三方库

virtualenv -p X:\UnrealEngine\Official\UE_5.1\Engine\Binaries\ThirdParty\Python3\Win64\python.exe ue_venv

TIP
其实将本地安装好的python作为虚拟环境的解释器,但需要保证本地安装的python版本和UE引擎中的python版本一致。
Unreal 4.26 Preview 3 之前的版本,Python版本为2.7.14
Unreal 4.26 Preview 3之后(含)的UE4版本中,Python为3.7.7
Unreal 5的Python版本为3.7.9
此外X:\UnrealEngine\Official\UE_5.1\Engine\Binaries\ThirdParty\Python3\Win64\python.exe --version 可以查看UE引擎中的Python版本

  1. 激活虚拟环境

进入虚拟环境的Scripts目录,执行activate.bat; MacOs用户执行source activate,激活虚拟环境

  1. 安装第三方库

在虚拟环境下,使用pip安装第三方库, 例如安装Pillow

pip install pillow

将当前环境中依赖的第三方库导出到requirements.txt中

pip freeze > requirements.txt

从已有的requirements.txt,可以使用pip install -r requirements.txt来安装

NOTE
在Pycharm中创建虚拟环境,并通过界面安装各个第三方库也是可以的。也需要注意python版本的一致性

在UE中使用第三方库路径

在实际使用过程中通常可以分为两种情况:

  1. 工程中的Python工具供项目中的多个用户使用。这种情况下,我们可以将第三方库拷贝到工程目录下<Your_Project>\TA\TAPython\Lib\site-packages,并将其加入版本控制,随着工程分发到每个使用者。同时在工程的Project Settings中将该目录加入Additional Path

  2. 独立开发者,本地有多个UE工程。这个时候,可以在各个工程中,同一将虚拟环境中的site-packages路径,添加的UE的Additional Path中。这样各个UE工程可以共享同一份三方库

'Additional Path' settings with 3rd-party package path included

TIP
记得在版本控制软件中忽略*.pyc文件和__pycache__目录哦

参考链接

File Structure