君子善假于物也
随着我们的工具做的越来越复杂,我们肯定会需要用的各种Python的第三方库。第三方库的强大功能也将大大解放我们的工具在编辑器中的功能。
常用的第三方库¶
- PIL(Pillow)
- imageio
- numpy
- matplotlib
- scipy-learn
- easyocr
- skimage
推荐做法¶
安装第三方库¶
- 创建一个虚拟环境
下面的例子中,将用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版本
- 激活虚拟环境
进入虚拟环境的Scripts目录,执行activate.bat; MacOs用户执行source activate
,激活虚拟环境
- 安装第三方库
在虚拟环境下,使用pip安装第三方库, 例如安装Pillow
pip install pillow
将当前环境中依赖的第三方库导出到requirements.txt中
pip freeze > requirements.txt
从已有的requirements.txt,可以使用pip install -r requirements.txt
来安装
NOTE
在Pycharm中创建虚拟环境,并通过界面安装各个第三方库也是可以的。也需要注意python版本的一致性
在UE中使用第三方库路径¶
在实际使用过程中通常可以分为两种情况:
-
工程中的Python工具供项目中的多个用户使用。这种情况下,我们可以将第三方库拷贝到工程目录下
<Your_Project>\TA\TAPython\Lib\site-packages
,并将其加入版本控制,随着工程分发到每个使用者。同时在工程的Project Settings中将该目录加入Additional Path -
独立开发者,本地有多个UE工程。这个时候,可以在各个工程中,同一将虚拟环境中的site-packages路径,添加的UE的Additional Path中。这样各个UE工程可以共享同一份三方库
TIP
记得在版本控制软件中忽略*.pyc文件和__pycache__目录哦