代码拉取完成,页面将自动刷新
同步操作将从 ZhangyigengMark/install 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-
import os
url_prefix = 'http://fishros.com/install/install1s/'
base_url = url_prefix+'tools/base.py'
INSTALL_ROS = 0 # 安装ROS相关
INSTALL_SOFTWARE = 1 # 安装软件
CONFIG_TOOL = 2 # 配置相关
tools_type_map = {
INSTALL_ROS: "ROS相关",
INSTALL_SOFTWARE: "常用软件",
CONFIG_TOOL: "配置工具"
}
tools ={
1: {'tip':'一键安装(推荐):ROS(支持ROS/ROS2,树莓派Jetson)', 'type':INSTALL_ROS, 'tool':url_prefix+'tools/tool_install_ros.py' ,'dep':[4,5] },
2: {'tip':'一键安装:github桌面版(小鱼常用的github客户端)', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_github_desktop.py' ,'dep':[] },
4: {'tip':'一键配置:ROS环境(快速更新ROS环境设置,自动生成环境选择)', 'type':INSTALL_ROS, 'tool':url_prefix+'tools/tool_config_rosenv.py' ,'dep':[] },
3: {'tip':'一键安装:rosdep(小鱼的rosdepc,又快又好用)', 'type':INSTALL_ROS, 'tool':url_prefix+'tools/tool_config_rosdep.py' ,'dep':[] },
5: {'tip':'一键配置:系统源(更换系统源,支持全版本Ubuntu系统)', 'type':CONFIG_TOOL, 'tool':url_prefix+'tools/tool_config_system_source.py' ,'dep':[1] },
6: {'tip':'一键安装:NodeJS环境', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_nodejs.py' ,'dep':[] },
7: {'tip':'一键安装:VsCode开发工具', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_vscode.py' ,'dep':[] },
8: {'tip':'一键安装:Docker', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_docker.py' ,'dep':[] },
9: {'tip':'一键安装:Cartographer(内测版易失败)', 'type':INSTALL_ROS, 'tool':url_prefix+'tools/tool_install_cartographer.py' ,'dep':[3] },
10: {'tip':'一键安装:微信(可以在Linux上使用的微信)', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_wechat.py' ,'dep':[8] },
21: {'tip':'一键安装:ROS Docker版(支持所有版本ROS/ROS2)', 'type':INSTALL_ROS, 'tool':url_prefix+'tools/tool_install_ros_with_docker.py' ,'dep':[7,8] },
12: {'tip':'一键安装:PlateformIO MicroROS开发环境(支持Fishbot)', 'type':INSTALL_SOFTWARE, 'tool':url_prefix+'tools/tool_install_micros_fishbot_env.py' ,'dep':[] },
13: {'tip':'一键配置:python国内源','type':CONFIG_TOOL,'tool':url_prefix+'tools/tool_config_python_source.py' ,'dep':[] },
14: {'tip':'一键安装:科学上网代理工具','type':INSTALL_SOFTWARE,'tool':url_prefix+'tools/tool_install_proxy_tool.py' ,'dep':[8] },
15: {'tip':'一键安装:QQ for Linux', 'type':INSTALL_SOFTWARE, 'tool': url_prefix+'tools/tool_install_qq.py', 'dep':[]},
# 77: {'tip':'测试模式:运行自定义工具测试'},
}
#
# 创建用于存储不同类型工具的字典
tool_categories = {}
# 遍历tools字典,根据type值进行分类
for tool_id, tool_info in tools.items():
tool_type = tool_info['type']
# 如果该类型还没有在字典中创建,则创建一个新的列表来存储该类型的工具
if tool_type not in tool_categories:
tool_categories[tool_type] = {}
# 将工具信息添加到相应类型的列表中
tool_categories[tool_type][tool_id]=tool_info
def main():
# download base
os.system("wget {} -O /tmp/fishinstall/{} --no-check-certificate".format(base_url,base_url.replace(url_prefix,'')))
from tools.base import CmdTask,FileUtils,PrintUtils,ChooseTask,ChooseWithCategoriesTask
from tools.base import encoding_utf8,osversion,osarch
from tools.base import run_tool_file,download_tools
from tools.base import config_helper
# PrintUtils.print_delay(f"检测到你的系统版本信息为{osversion.get_codename()},{osarch}",0.001)
# 使用量统计
#CmdTask("wget https://fishros.org.cn/forum/topic/1733 -O /tmp/t1733 -q && rm -rf /tmp/t1733").run()
# check base config
if not encoding_utf8:
print("Your system encoding not support ,will install some packgaes..")
CmdTask("sudo apt-get install language-pack-zh-hans -y",0).run()
CmdTask("sudo apt-get install apt-transport-https -y",0).run()
FileUtils.append("/etc/profile",'export LANG="zh_CN.UTF-8"')
print('Finish! Please Try Again!')
print('Solutions: https://fishros.org.cn/forum/topic/24 ')
return False
PrintUtils.print_success("基础检查通过...")
book = """
@@@@OO/[[[[[[[[[[[[[[[[[[[[[[[[[\OOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@OOOOO/[` ,[\OOOOOOOOO@@@@@@@@@@@@@@@@@@@@OOOOO/[` [[OOOOOOOOO@
@@@@OO^ ,\O@@@@@@@@@@@@@@@@@@@@@@@@O/ [OOOOO@@@@@@@@@@@@@@@@@@@@O/ ,\OOOO@
@@@@OO^ ,OOO@@@@@@@@@@@@@@@@OO/` \OOOOOO@@@@@@@@@@@@OOO` ,\OO
@@@@OO^ ,O@@@@@@@@@@@@@@@@/ \OOOO@@@@@@@@@@@@O` [
@@@@OO^ OOOO@@@@@@@@OOO` ]]]]]] ,OOO@@@@@@@@OOOO` ]]]]]]]` ,@
@@@@OO^ OOOOOOOOOOOOOOOOOOO\ OOO@@@@@@@@OO` ,/OOOOOOOOOOOOO` OO@@@@@@@@OOO^ ,OOOOOOOOOOOOOO\ ,OO@
@@@@OO^ O@@@@@@@@@@@@@@@@@@@@` =OO@@@@@@@@O ,O@@@@@@@@@@@@@@@@O` OOOOO@@@@@O@ =@@@@@@@@@@@@@@@@OO` @@@@@
@@@@OO^ O@@@@@@@@@@@@@@@@@@@@O =OO@@@@@@@@` =OO@@@@@@@@@@@@@@@@OO^ ,OOOO@@@@@O@ =@@@@@@@@@@@@@@@@OOOO@@@@@
@@@@OO^ O@@@@@@@@@@@@@@@@@@@@O^ OO@@@@OOO^ =OOO@@@@@@@@@@@@@@@@OOO^ =OOO@@@@OOO ,OOOO@@@@@@@@@@@@@@@@@@@@@
@@@@OO^ O@@@@@@@@@@@@@@@@@@@@O =OO@@@@OOO OOOO@@@@@@@@@@@@@@@@OOOO` OOO@@@@OOO^ ,OO@@@@@@@@@@@@@@@@@@@@@
@@@@OO^ O@@@@@@@@@@@@@@@@OOOO^ =OO@@@@OOO =@@@@@@@@@@@@@@@@@@@@@@@@O =OO@@@@@@@@ ,\OOOOOOOOO@@@@@@@@@
@@@@OO^ O@@@@@@@@@@@@@@@@OOO` OOO@@@@OO^ O@@@@@@@@@@@@@@@@@@@@@@@@@ ,OO@@@@@@@@O [[OOO@@@@@@@@@
@@@@OO^ [[[[[[[[[[[[[[[[[ /OOO@@@@@O^ O@@@@@@@@@@@@@@@@@@@@@@@@O @O@@@@@@@@OO\ ,\OOOOOO@
@@@@OO^ ,OOOOO@@@@@O^ O@@@@@@@@@@@@@@@@@@@@@@@@O` @O@@@@@@@@OOOOO] ,OOO@
@@@@OO^ /OO@@@@@@@@OO^ @@@@@@@@@@@@@@@@@@@@@@@@@O OO@@@@@@@@@@@@@@@@O]` \O
@@@@OO^ ]OOOOO@@@@@@@@OO^ @@@@@@@@@@@@@@@@@@@@@@@@@O .OO@@@@@@@@@@@@@@@@OOOOOOO]` ,
@@@@OO^ ]]]]]]]]]]` \OOOO@@@@@@@@@@@@OO^ \@@@@@@@@@@@@@@@@@@@@@@@@O =OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@\`
@@@@OO^ OOOOOOOOOOO^ \OOO@@@@@@@@@@@@OOO ,@@@@@@@@@@@@@@@@@@@@@@@@^ /OO@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOO`
@@@@OO^ O@@@@@@@@OOO^ OOO@@@@@@@@@@@@OOO^ \OOO@@@@@@@@@@@@@@@@OOOO ,OOO@@@@@@@@OOOO@@@@@@@@@@@@@@@@@@@@O\
@@@@OO^ O@@@@@@@@OOOO` OO@@@@@@@@@@@@OOOO OOO@@@@@@@@@@@@@@@@OOO OOOO@@@@@@@@OOOO@@@@@@@@@@@@@@@@@@@@OO
@@@@OO^ O@@@@@@@@@@@@O^ OOOOO@@@@@@@@@@@@\ \OOOOO@@@@@@@@OOOOOO =@@@@@@@@OOOOO/ \OOOOOOO@@@@@@@@@@@@O/
@@@@OO^ O@@@@@@@@@@@@OO^ OOOO@@@@@@@@@@@@O\ ,OOOO@@@@@@@@OOOO` =O@@@@@@@@OOO/ [OOOOO@@@@@@@@@@@@O`
@@@@OO^ O@@@@@@@@@@@@OOO` OOO@@@@@@@@@@@@OO\ ,\OOOOOOOO/[ /OO@@@@@@@@O/ ,[OOOOOOOOOOO[
@@@@OO^ O@@@@@@@@@@@@OOOO` OO@@@@@@@@@@@@OOOO` OOOO@@@@@@@@OO` =
@@@@OO^ O@@@@@@@@@@@@@@@@O` OOOOO@@@@@@@@@@@@OO` /O@@@@@@@@@@@@@@@@` /@
@@@@OO^ O@@@@@@@@@@@@@@@@OO` OOOO@@@@@@@@@@@@OOOO` ,OOOO@@@@@@@@@@@@@@@@OO\ ,OOO@
@@@@OO^ O@@@@@@@@@@@@@@@@OOO` @O@@@@@@@@@@@@@@@@@OOO\` ,/OOO@@@@@@@@@@@@@@@@@@@@@@@@OO\` ,/OO@@@@@
"""
tip = """===============================================================================
======欢迎使用一键安装工具,人生苦短,三省吾身,省时省力省心!=======
======一键安装已开源,这仅仅是对于cartographer库的安装 =======
===============================================================================
"""
end_tip = """===============================================================================
"""
PrintUtils.print_delay(tip,0.001)
PrintUtils.print_delay(book,0.001)
# download tools
choose_dic = {}
# for tool_id in tools.keys(): choose_dic[tool_id] = tools[tool_id]["tip"]
code,result = ChooseWithCategoriesTask(tool_categories, tips="---众多工具,等君来用---",categories=tools_type_map).run()
if code==0: PrintUtils().print_success("是觉得没有合胃口的菜吗?那快联系的小鱼增加菜单吧~")
elif code==77:
code,result = ChooseTask(choose_dic, "请选择你要测试的程序:").run()
if code<0 and code>=77: return False
# CmdTask("cp tools/* /tmp/fishinstall/tools/").run
print(tools[code]['tool'].replace(url_prefix,'').replace("/","."))
run_tool_file(tools[code]['tool'].replace(url_prefix,'').replace("/","."))
else:
download_tools(code,tools)
run_tool_file(tools[code]['tool'].replace(url_prefix,'').replace("/","."))
config_helper.gen_config_file()
if __name__=='__main__':
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。