最近需要在window下跑星际争霸2的有关代码,用的是SMAC这个平台,因此记录一下安装过程,以作备忘。
1.星际争霸2安装
官网地址,直接下载安装就行,可以一路默认安装如果C盘够的话(需要大概30G),我是装在E盘,并设置系统变量SC2PATH
,环境变量为星际争霸2的安装路径,如图所示:
2.环境搭建
之后代码均在anaconda的虚拟环境下运行,所以需要先创建好一个虚拟环境。
2.1 创建python环境
conda create -n sc2 pyhton=3.7
conda activate sc2
创建环境sc2,python使用3.7版本。
2.2 Pytorch安装
Pytorch官网
因为代码工程都是用torch写的,所以我选择安装torch,而且后面要用到torch-geometric这个包,而这个包对应的最低版本torch是1.4,所以就安装了Pytorch1.4.0版本。安装CPU版本还是GPU版本看个人需求,我的电脑上有显卡所以就装的GPU版本(虽然是GT 730的显卡),英伟达驱动版本如下:
直接按照官网对应版本的指令安装:
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
安装完后,执行如下命令没报错就没问题:
python -c "import torch; print(torch.version.cuda)"
CPU版本的话就直接安装:
conda install pytorch==1.4.0 torchvision==0.5.0 cpuonly -c pytorch
能够import torch
不报错就没问题。
2.3 Torch-geometric库安装
这个库主要是代码有用到所以需要额外装一下,如果没有用到这个库就跳过。安装torch-geometric库前还要先装torch-scatter、torch-sparse、torch-cluster以及torch-spline-conv这四个包。从https://pytorch-geometric.com/whl/torch-1.4.0.html处下载对应版本的包。下载后在虚拟环境下将路径切换到文件的保存路径,分别进行安装:
pip install torch_scatter-2.0.3+cu101-cp37-cp37m-win_amd64.whl
pip install torch_sparse-0.5.1+cu101-cp37-cp37m-win_amd64.whl
pip install torch_cluster-1.5.2+cu101-cp37-cp37m-win_amd64.whl
pip install torch_spline_conv-1.2.0+cu101-cp37-cp37m-win_amd64.whl
安装成功后就可以安装torch-geometric库了:
pip install torch-geometric
可以用下面命令测试安装是否成功:
python -c "import torch_geometric"
不报错即可。
3.安装SMAC
直接按官方给的教程来:
pip install git+https://github.com/oxwhirl/smac.git
或者下到本地再装,我是下载到本地再装:
git clone https://github.com/oxwhirl/smac.git
pip install -e smac/
4.下载地图
从SMAC给的地址上下载对应的地图,并把解压后的对应文件夹(解压后应该有两个文件夹,只用到SMAC_Maps这个文件夹)放到安装目录下的Maps文件夹中。
ps:我的安装路径中没有Maps文件夹所以就建了一个Maps文件夹。
之后可以使用如下命令查看平台的地图:
python -m smac.bin.map_list
5.运行
可以用如下指令测试:
python -m smac.examples.random_agents
能运行不报错,对应的星际界面能出来就安装成功了。
6.测试注意
因为我星际争霸没有在默认目录安装,所以在测试时会出现这个错误:
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'C:/Program Files (x86)/StarCraft II\\Versions
这是由于我改了安装目录后,一些库按路径找不到文件了,解决方法是在自己的安装目录中把找不到的文件夹按上面说的路径复制一份放在C盘,重启电脑就好了。