为了账号安全,请及时绑定邮箱和手机立即绑定

Windows上遇到错误之No module named ‘_polyiou‘

在Windows上运行代码时遇到这个情况:

https://img1.sycdn.imooc.com/618cf3b70001a3d108350401.jpg

官方给出的解决办法是在Linux操作系统上面的

https://img1.sycdn.imooc.com//618d22ad0001012608670374.jpg

网上很多给出了下面几行代码的解决方式,这种方法我没有试成功,我不知道通过conda安装的swig如何使用

    执行命令:conda install -c anaconda swig

    然后到D:\\×××\\DOTA_devkit目录下面

    执行命令:swig -c++ -python polyiou.i

    下一步执行: python setup.py build_ext --inplace

我在Windows上成功解决这个问题,有以下2个步骤:

  1. 安装swig

  2. 使用下面两条命令编译

    swig -c++ -python polyiou.i

    python setup.py build_ext --inplace

一、Windows上安装swig

①swig官方下载地址:http://www.swig.org/download.html

https://img3.sycdn.imooc.com/618d08980001acec09320341.jpg

②下载解压之后是这样一个文件夹,将其放到你想放到的位置

https://img4.sycdn.imooc.com/618d08df0001c79f06960234.jpg

③然后将其添加到环境变量中

https://img1.sycdn.imooc.com/618d0c2c0001ac2910680582.jpg

④在cmd命令行输入swig -help验证swig是否配置成功,如果提示

'swig' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

说明没有配置成功。

https://img3.sycdn.imooc.com/618d0ebd00018b5010750566.jpg

二、使用两条命令编译

swig -c++ -python polyiou.i

在cmd界面进入需要编译的目录,输入swig -c++ -python polyiou.i

https://img1.sycdn.imooc.com/618d10b30001066a06590137.jpg

没有输出与报错,就表示没有问题

然后接着输入python setup.py build_ext --inplace

不出意外的话,都会报错

https://img1.sycdn.imooc.com/618d11640001fabc10910544.jpg

解决办法如下,找到需要编译的polyiou.cpp文件,右键选择记事本打开

https://img1.sycdn.imooc.com/618d13c00001a5f407640277.jpg

在记事本打开之后选择文件——>另存为

https://img4.sycdn.imooc.com/618d14970001856609320574.jpg

仍然选择原来polyiou.cpp的文件路径,在编码处选择“带有BOM的UTF-8”替换掉原来的polyiou.cpp,然后重新输入python setup.py build_ext --inplace命令编译

https://img1.sycdn.imooc.com/618d159300015e2d10890527.jpg

代码生成完成后,polyiou.cpp的路径下会多出一个文件

https://img3.sycdn.imooc.com/618d199b0001097108550458.jpg

至此,大功告成!




点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消