庙算兵棋推演平台配置

9月23开始,9月26完成。因为那时刚从大连回来,十一之后又一个紧急项目当项目负责人,所以隔了这么久才发出来。

我尝试进行制作平台AI,想在我的小平板上配好,最好还可以移植。于是我采用WSL(windows自带的docker)+vscode来进行执行。

1.运行环境

平台是基于python的,所以配好python就行。我照着安装相应python版本到WSL上,详见我的这篇博文:

win10,WSL的Ubuntu配python3.7手记-CSDN博客

(题外话)要用界面的话,采用 WSL+XLaunch的组合,一般输入如下两句话(第一句指定输出窗口,第二句在打开XLaunch并对上输出窗口序号后执行)

export DISPLAY=localhost:2
sudo compiz

然后用python命令出现了python版本的问题,下面这个命令可以看python版本。

ls /usr/bin/python*

然后无论python命令什么都会出【ModuleNotFoundError: No module named ‘CommandNotFound’】的报错

(后来发现我装的python3应该这么执行)

python3 run_offline_games.py

然后就开始配兵棋平台了。

2.平台环境

平台有专门的说明,但是里面有细节坑还是得自己踩……比如上面那个装环境,就有python版本对不上包的版本的问题。

首先,开启WSL的linux!

AI开发与SDK (yuque.com)

然后,按照上面说的,解压、运行

说明中写的是用python命令,在Linux命令行中执行;但是我可以用vscode打开文件夹、配置python执行,然后f5运行。

会出这个错误。

这两个from的是文件夹的名字,看说明的文件夹结构……怎么会没有呢?

于是我还是切回Linux的命令行执行了

python3 run_offline_games.py

出现了如下报错

然后是放上配套的环境数据的问题,即train_env的Data文件夹里放入压缩包中的Data.zip里的地图和想定文件。然后放到与run_offline_games.py同级目录下的data中。

再执行一遍

python3 run_offline_games.py

开始报具体的错误而不是程序错误了。

然后那个train_env文件夹里的都不是python文件而是编译好的so库文件(我不太清楚python的Linux编译为动态库的流程,但是代码里还认里面有__init__.py?)

3.vscode的远程WSL使用方法

vscode的分系统功能在右下的提示,“所有的命令、扩展和终端都会运行在linux分系统”。

开启方法是先点击上图左下角的那个蓝色小框,然后再点击上方弹出的“连接到WSL”。

然后左下方就会变成【WSL:Ubuntu+版本号】

此时点击左列第一个“资源管理器”,然后打开文件夹,就是打开linux分系统的位置了。

打开run_offline_games.py文件,此时选择左列第4个“调试与执行”,选择用python执行。

效果与命令行相同,并且报错可以直接定位到代码(本篇第一张图片那样)

4.WSL的导入导出

WSL的方式有优势,因为我可以直接在Windows上访问Linux中用户有权限的文件

一旦装了分系统,在左侧的树形列表中就有“Linux”的位置,点开就能访问这个Linux里的文件。

WSL其实就是docker,也能导出;WSL现在又WSL2的版本,但是我的电脑不支持,只好先用WSL1.

如何迁移wsl和docker的虚拟盘 - 知乎 (zhihu.com)

跟着这篇博文,我找到了我的Linux,大概有6.5个G

以下是部分引用

先来麻醉一下,免得数据出现访问占用的情况。

wsl --shutdown

好了,可以手术了,先用Export切下来

wsl --export Ubuntu-20.04 E:\your_path\Ubuntu-20.04_export.tar
wsl --export docker-desktop E:\your_path\docker-desktop_export.tar
wsl --export docker-desktop-data E:\your_path\docker-desktop_export-data.tar

(我是复制出去,这段我用不到)

然后通过unregister告诉wsl,已经卸下来

wsl --unregister Ubuntu-20.04
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

这样,就可以用import安上去

wsl --import Ubuntu-20.04 E:\your_target_path\ubuntu E:\your_path\Ubuntu-20.04_export.tar
wsl --import docker-desktop E:\your_target_path\desktop E:\your_path\docker-desktop_export.tar
wsl --import docker-desktop-data E:\your_target_path\desktop-data E:\your_path\docker-desktop_export-data.tar

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/240965.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AWS-CDN只能备用域名访问-使用Lambda@Edge(禁止分配的域名访问)

场景:cdn使用备用域名后,希望用户只能从备用域名访问,而不是自动分配的cdn域名,这也将是一个安全漏洞,被扫描到cdn域名访问刷流量等! 【建议部署前查看】参考链接: 1.官方cdn返回示例 2.lambdae…

机器人纯阻抗控制接触刚性环境(阻尼影响因素)

问题描述 在机器人学中,阻抗控制是一种常用的控制策略,用于管理机器人在与环境交互时的运动和力。阻抗控制背后的关键概念是将环境视为导纳,而将机器人视为阻抗。 纯阻抗控制接触刚性环境时,机器人的行为方式主要受其阻抗参数的…

统信UOS使用4种方法重置用户密码

原文链接:统信UOS使用4种方法重置用户密码 hello,大家好啊,今天我要给大家介绍的是在统信UOS操作系统上使用4种不同方法来重置用户密码。我们都知道,在日常使用中,偶尔会忘记密码,尤其是在使用多个账户的情…

Leetcode—222.完全二叉树的节点个数【简单】

2023每日刷题(五十八) Leetcode—222.完全二叉树的节点个数 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(null…

进程调度的题解

目录 原题大意: 题目描述: 输入格式: 输出格式: 样例输入: 样例输出: 数据规模: 题目大意: 主要思路: dp的转移: dp初始化: 代码&…

【人工智能】人工智能中的Agent:法律虚拟助手简单示例

人工智能中的Agent:法律虚拟助手简单示例 随着人工智能技术的发展,Agent(代理)的概念在这个领域中变得愈发重要。在人工智能的应用中,Agent可以是一个系统、软件或机器人,能够执行特定的任务,理…

静态HTTP应用在社交媒体推广中的作用

在社交媒体日益盛行的今天,静态HTTP应用以其独特的特点,成为了社交媒体推广的一大利器。下面,我们就来聊聊静态HTTP应用在社交媒体推广中的作用。 一、快速响应,提升用户体验 静态HTTP应用以其快速响应的特点,为用户…

二叉树(接口函数的实现)

今天继续来分享的是二叉树,我们废话不多说,直接来看下面的几个接口函数,然后我们把他们实现,我们就掌握二叉树的二分之一(今天粉丝破千了,属实有点高兴了)。 typedef char BTDataType;typedef s…

Epicypher—CUTANA™ ChIC/CUTRUN Kit

核酸酶靶向切割和释放 (CUT&RUN)技术是由Steven henikoff博士团队开发的一种染色质图谱分析方法,基于Ulrich Laemmli博士的染色质免疫切割技术 (ChIC),融合蛋白A与微球菌核酸酶 (pA-MNase),选择性原位切割与抗体结合的染色质。在CUT&…

漏洞补丁存在性检测技术洞察

1、 漏洞补丁存在性检测技术是什么? 漏洞补丁存在性检测技术通俗的理解就是检测目标对象中是否包含修复特定已知漏洞的补丁代码,目标检测对象可能是源码,也能是二进制文件。 2、 漏洞补丁存在性检测技术业务背景 补丁检测这个问题背景是产品…

uview1 的u-tabs组件在微信小程序中会出现横向滚动条

uview1 的u-tabs组件在微信小程序中会出现横向滚动条,真机才会生效,微信开发者工具没问题包括官方示例也会 原因:未屏蔽微信小程序的滚动条 解决办法:uview-ui中uview-ui/components/u-tabs/u-tabs.vue文件把h5屏蔽滚动条的条件编…

基于ssm的线上课程管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本线上课程管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

mysql,树形结构表中,查询所有末节点数据(叶子结点)

需求:在一个可以存放多级目录的表中,查询出某个课程目录下所有末节点(因为只有末节点可以挂载资源) 例如下图: 其中 1.11.2.12.1 都是末节点,因为他们已经没有下一级了 catalog表中重要字段有:c…

对Spring源码的学习:基于XML文件配置的开发流程

目录 BeanFactory开发流程 ApplicationContext BeanFactory与ApplicationContext对比 基于XML方式的Bean的配置 自动装配 BeanFactory开发流程 这里的第三方指的是Spring提供的BeanFactory,Spring启动时会初始化BeanFactory,然后读取配置清单&#…

[山东大学操作系统课程设计]实验六

0.写在前面: 事先说明一点,在实验六开始,绝大多数的问题我应该都无法解释了,因为我自己做这个实验都是有点困难的,所以在接下来我不会过多阐述原理上的东西,只交待这个东西是怎么做的。 另外实验六七又是…

关于“Python”的核心知识点整理大全17

目录 ​编辑 8.3.4 结合使用函数和 while 循环 greeter.py 8.4 传递列表 greet_users.py 8.4.1 在函数中修改列表 printing_models.py 8.4.2 禁止函数修改列表 要将列表的副本传递给函数,可以像下面这样做: 往期快速传送门👆&#x…

java SSM教师工作量管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 教师工作量管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要…

【数学建模】《实战数学建模:例题与讲解》第十二讲-因子分析、判别分析(含Matlab代码)

【数学建模】《实战数学建模:例题与讲解》第十二讲-因子分析、判别分析(含Matlab代码) 基本概念时间判别费歇判别贝叶斯判别 习题10.31. 题目要求2.解题过程3.程序4.结果 习题10.6(1)1. 题目要求2.解题过程——对应分析…

OLED屏幕,如何成为商显主流

OLED屏幕在商显领域的应用逐渐增加,成为商显主流的原因主要有以下几点: 显示效果优异:OLED屏幕具有自发光原理,色彩鲜艳、对比度高、视角广,能够提供更好的视觉体验。在商业展示、广告宣传等场景中,OLED屏幕…

Feign-自定义配置

目录 一、自定义Feign配置 二、修改日志级别 方式一:application配置文件方式 方式二:java代码方式 三、总结 一、自定义Feign配置 二、修改日志级别 配置Feign日志有两种方式 方式一:application配置文件方式 (1&#xff09…