Windows10下编译DOTA_devkit

背景:在linux系统下没有配好DOTA_devkit,失败无奈转向windows10

解决:import _polyiou ModuleNotFoundError: No module named '_polyiou’问题

Windows10下编译DOTA_devkit

DOTA_devkit:链接
swig:链接

下载swig

下载swig以后,将swig的环境变量配置到系统的环境变量中
在这里插入图片描述

将swig环境变量配进去,是为了替代下面这句命令:DOTA_devkit的官方安装步骤一

在这里插入图片描述

测试swig的安装是否成功

在这里插入图片描述
能够输出这样的就可以了,不难的,慢慢来,到这里,已经完成了最难的了

下载DOTA_devkit文件,激活虚拟环境

在下载文件以后,激活相应的虚拟环境,同时进入到文件里面,如下图
在这里插入图片描述
然后再执行swig -c++ -python polyiou.i这个命令,如下图
在这里插入图片描述
是没有任何输出的,表示就没有问题

然后再执行python setup.py build_ext --inplace,如下图

在这里插入图片描述
不出意外,一个会报错,如下图,哈哈哈哈,我也遇到了,逗逗你们

在这里插入图片描述
看不懂,错误看不懂,没事,去GitHub,链接:链接
在这里插入图片描述

这个点赞三个的,照着他的方式来修改保存退出

在这里插入图片描述

继续执行上面的那个代码,如下图这样就可以了
在这里插入图片描述
在DOTA_devkit文件夹里面,会出来这么一个文件夹,如下图,
解释一下:
_polyiou:这个是基于任何系统都会有保留的
cp36:指的是python版本,我的是python3.6.9
win:windows
amd64:操作系统64位

在这里插入图片描述

坑来了

其实到这里,应该就没什么了,但是这里这里有一个问题,就是官方的这个版本,在polyiou.py文件中,使用的是imp加载上面生成的文件,如下图
在这里插入图片描述
但是问题在于imp现在已经不用了,如下图,人家让我们用importlib,所以我们要改一下,上面的代码意思也很简单,就是说将生成的这个文件_polyiou.cp36-win_amd64.pyd加载一下
在这里插入图片描述
所以这里 我把它改完,如下,其实就是用importlib加载那个文件

到这里,就全部搞定了

测试

在命令行输入命令,进入jupyter测试demo.ipy文件,应该就没什么问题了

在这里插入图片描述

最后说明:其实在jypyter里面运行这段代码的时候,如下图

在这里插入图片描述
会报这么一个错误(如下图),意思就是说,引入_polyiou有问题,其实就是说在导入生成的_polyiou那个文件的时候,没有很好的导入,所以只要将那里imp修改就好了

在这里插入图片描述

好了,这就是全部的,欢迎讨论

  • 24
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值