Mojo-SDK详细安装教程

Mojo-SDK安装

在这里插入图片描述

运行环境:windows11+wsl2(ubuntu1804)
官方推荐:wsl2(ubuntu2204),我下面是wsl2(ubuntu1804),发现有些问题,不知道是不是ubuntu版本问题,如果报错可参考如下命令行升级:

# 确保版本可升级,需要Prompt=lts
sudo nano /etc/update-manager/release-upgrades
# 使用CTRL+S保存,然后CTRL+X退出nano。
# 升级系统组件并检查软件更新
sudo apt update
# 更新软件
sudo apt upgrade -y
# 更新发行版
sudo do-release-upgrade

截至20230909,windows,mac系统暂时不支持

由于每个人的设备系统环境不一致,下面步骤仅供参考。

step1:

Install VS Code, the WSL extension, and the Mojo extension.

step2:

Install Ubuntu 22.04 for WSL and open it.

step3:

In the Ubuntu terminal, install the Modular CLI:
The script requires root or sudo privileges to run.

curl https://get.modular.com | \MODULAR_AUTH=mut_b2c22398bcc949a6a803dfe01d09fc06 \sh -

可能会出现报错:

modular: error while loading shared libraries: libtinfo.so.6: cannot open shared object file: No such file or directory

解决(这里优点乱,试了好几种方法,后面莫名其妙,运行这个命令就没报错了):

sudo apt install libevent-dev ncurses-dev build-essential bison pkg-config

继续执行上面脚本,出现如下 not found报错

Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
modular: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by modular)
modular: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by modular)
modular: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by modular)

继续解决上述报错:
检查版本:

(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_PRIVATE

解决方案:添加一个高级版本系统的源,直接升级libc6.
编辑源:

sudo vi /etc/apt/sources.list

添加高版本的源

deb http://th.archive.ubuntu.com/ubuntu jammy main    #添加该行到文件

运行升级

sudo apt update
sudo apt install libc6

再次检查版本

(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_2.18
GLIBC_2.22
GLIBC_2.23
GLIBC_2.24
GLIBC_2.25
GLIBC_2.26
GLIBC_2.27
GLIBC_2.28
GLIBC_2.29
GLIBC_2.30
GLIBC_2.31
GLIBC_2.32
GLIBC_2.33
GLIBC_2.34
GLIBC_2.35
GLIBC_PRIVATE

再次运行step3脚本,没有再报错
在这里插入图片描述

step4:

Install the Mojo SDK:

modular install mojo

报错:

Testing `MODULAR_HOME=/home/dongyongfei786/.modular`
* `/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/bin/mojo`...
TEST: `mojo --help`... ERROR
Traceback (most recent call last):File "/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/scripts/post-install/self-test.py", line 342, in <module>main()File "/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/scripts/post-install/self-test.py", line 338, in maintester.test(args.test_jupyter)File "/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/scripts/post-install/self-test.py", line 269, in testself.test_mojo_help()File "/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/scripts/post-install/self-test.py", line 94, in test_mojo_helpassert "mojo" in self.run_mojo("--help")[0]
AssertionError
modular: error: failed to run python:

但是能正常查看版本,安装成功了吗?应该是bug

(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ modular --version
modular 0.1.4 (6b54d308)

貌似没报错了

(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ mojo  # 这里应该还是有点问题的,没有进入类似python的窗口
(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ mojo --version
mojo 0.2.1 (64d14e85)
(torch) dongyongfei786@DESKTOP-3QNKDLL:~$

补充:20230910
重新执行上面流程,莫名其妙安装成功(可能是升级sudo apt update,升级了一些依赖性)

🔥 Mojo installed! 🔥Now run the following commands if you are using bash:echo 'export MODULAR_HOME="/home/dongyongfei786/.modular"' >> ~/.bashrc
echo 'export PATH="/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcIf you are using ZSH, run the following commands:echo 'export MODULAR_HOME="/home/dongyongfei786/.modular"' >> ~/.zshrc
echo 'export PATH="/home/dongyongfei786/.modular/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.zshrc
source ~/.zshrcThen enter 'mojo' to start the Mojo REPL.For tool help, enter 'mojo --help'.
For more docs, see https://docs.modular.com/mojo.(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ MOmojo
MOmojo: command not found
(torch) dongyongfei786@DESKTOP-3QNKDLL:~$ mojo
Welcome to Mojo! 🔥
Expressions are delimited by a blank line.
Type `:mojo help` for further assistance.
1>

截个图记录一下:
在这里插入图片描述

step5.

Open the Ubuntu workspace in VS Code with this:

code .
Step6

Get started with Hello World!
https://docs.modular.com/mojo/manual/get-started/hello-world.html
貌似没报错了,可下载example:https://github.com/modularml/mojo/tree/main/examples

(torch) dongyongfei786@DESKTOP-3QNKDLL:/mnt/g/dongyongfei786/mojo-tutorials/mojo/examples$ mojo hello.🔥
Hello Mojo 🔥!
9
6
3
(torch) dongyongfei786@DESKTOP-3QNKDLL:/mnt/g/dongyongfei786/mojo-tutorials/mojo/examples$ ls
LICENSE    deviceinfo.mojo  hello     hello_interop.mojo  matmul.mojo  nbody.mojo  pymatmul.py  simple_interop.py
README.md  docker           hello.🔥  mandelbrot.mojo     memset.mojo  notebooks   reduce.mojo
Hello from Python!
I can even print a numpy array:  [1 2 3]
(torch) dongyongfei786@DESKTOP-3QNKDLL:/mnt/g/dongyongfei786/mojo-tutorials/mojo/examples$ mojo mandelbrot.mojo
Number of hardware cores: 12
Vectorized: 23.953908999999999 ms
Parallelized: 3.572031 ms
Parallel speedup: 6.7059633581007558
(torch) dongyongfei786@DESKTOP-3QNKDLL:/mnt/g/dongyongfei786/mojo-tutorials/mojo/examples$

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4

博客【opencv dnn模块 示例(3) 目标检测 object_detection (2) YOLO object detection】 测试了yolov3 及之前系列的模型&#xff0c;有在博客【opencv dnn模块 示例(15) opencv4.2版本dnn支持cuda加速&#xff08;vs2015异常解决&#xff09;】 说明了如何使用dnn模块进行cuda…

kafka 3.5 主题分区ISR伸缩源码

ISR(In-sync Replicas)&#xff1a;保持同步的副本 OSR(Outof-sync Replicas)&#xff1a;不同步的副本。最开始所有的副本都在ISR中&#xff0c;在kafka工作的过程中&#xff0c;如果某个副本同步速度慢于replica.lag.time.max.ms指定的阈值&#xff0c;则被踢出ISR存入OSR&am…

(1)输入输出函数:cin和cout(2)数学函数:sqrt、pow、sin、cos、tan等

输入输出函数&#xff1a;cin 和 cout 在C编程语言中&#xff0c;为了与用户进行交互和显示程序的结果&#xff0c;我们使用了两个非常重要的函数&#xff1a;cin 和 cout。这两个函数分别用于输入和输出。 cin是C中的标准输入流对象&#xff0c;它用于从键盘接收用户的输入。…

SQL12 高级操作符练习(2)

描述 题目&#xff1a;现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研&#xff0c;请你取出相关数据&#xff08;使用OR实现&#xff09; 示例&#xff1a;user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…

六、不root不magisk不xposed lsposed frida原生修改定位

前言常用风控APP检测1.Aida64检测2.momo检测3.微霸检测4.cellular-z检测 厂商测试总结 前言 不root不戴面具 不xposed lsposed frida&#xff0c;不分身&#xff0c;不多开&#xff0c;最完美的原生修改定位。 常用风控APP检测 先看效果再说原理&#xff0c;先过一遍环境 1.Ai…

聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化

聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化 目录 聚类分析 | MATLAB实现基于SOM自组织特征映射聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于自组织特征映射聚类算法(SOM)的数据聚类可视化 可直接运行 注释清晰 Matlab语言 1.多特征输入&…

Python 可迭代对象、迭代器、生成器

可迭代对象 定义 在Python的任意对象中&#xff0c;只要它定义了可以返回一个迭代器的 __iter__ 魔法方法&#xff0c;或者定义了可以支持下标索引的 __getitem__ 方法&#xff0c;那么它就是一个可迭代对象&#xff0c;通俗的说就是可以通过 for 循环遍历了。Python 原生的列…

爬虫 — 正则案例

目录 一、需求二、页面分析三、代码实现 一、需求 目标网站&#xff1a;http://www.weather.com.cn/weather/101010700.shtml 需求&#xff1a;获取日期&#xff0c;天气&#xff0c;温度&#xff0c;风力数据 二、页面分析 1、确定 url&#xff0c;静态加载 url&#xff1a;ht…

Mybatis的mapper.xml批量插入、修改sql

今天要有个功能&#xff0c;要进行一批数据的插入和修改&#xff0c;为了不频繁调用数据库&#xff0c;所以想到了批量插入和修改&#xff0c;因为从毕业后&#xff0c;就没写过批量插入和批量修改&#xff0c;所以在这里记录一下&#xff0c;避免后续再遇到忘记怎么写了 批量…

【小记录】jupyter notebook新版本

手欠升级 &#x1f605;今天手贱&#xff0c;在anaconda navigator里面更新了最新版本的spyder&#xff0c;然后莫名奇妙地jupyter notebook就打不开了&#x1f605;&#xff0c;报错说缺少模块”ModuleNotFoundError: No module named jupyter_server.contents“&#xff0c;…

Python分享之对象的属性

Python一切皆对象(object)&#xff0c;每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。 属性的__dict__系统 对象的属性可能来自于其类定义&#xff0c;叫做类属性(class attribute)。类属性可能来自类定义自身&#xff0c;也可能根据类定义继承来的…

docker挂载目录权限问题

虽然是root身份进入docker但是依然有些权限是没有的&#xff01; 一、docker权限参数 可以解决挂载目录操作权限低 使用–privilegedtrue和-u参数来给Docker容器授权 docker run -it --privilegedtrue -uroot --namemysqlTest -v /root/data:/root/data_container mysql:5.7…

从0到1学会Git(第三部分):Git的远程仓库链接与操作

写在前面:前面两篇文章我们已经学会了git如何在本地进行使用&#xff0c;这篇文章将讲解如何将本地的git仓库和云端的远程仓库链接起来并使用 为什么要使用远程仓库:因为我们需要拷贝我们的代码给别人以及进行协同开发&#xff0c;就需要有一个云端仓库进行代码的存储和同步&a…

常见的HTTP请求方式

目录 GET 请求 POST 请求 PUT 请求 DELETE 请求 PATCH 请求 HEAD 请求 OPTIONS 请求 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是一种用于传输数据的协议&#xff0c;它在互联网中扮演了至关重要的角色。HTTP请求方式定义了客户端与服务器之间的通信方式…

【数据结构】C++实现AVL平衡树

文章目录 1.AVL树的概念2.AVL树的实现AVL树结点的定义AVL树的插入AVL树的旋转左单旋右单旋左右双旋右左双旋插入代码 AVL树的验证AVL树的查找AVL树的修改AVL树的删除AVL树的性能 AVL树的代码测试 1.AVL树的概念 二叉搜索树虽然可以提高我们查找数据的效率&#xff0c;但如果插…

错误码:spark_error_00000004

错误码&#xff1a;spark_error_00000004 错误码&#xff1a;spark_error_00000004 问题原因&#xff1a;这个报错与Spark执行器&#xff08;executor&#xff09;的内存不足有关&#xff0c;程序运行时所需内存 > memory。一般是因为处理数据量或者缓存的数据量较大&#x…

模拟实现链式二叉树及其结构学习——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 之前我们实现了用顺序表完成二叉树(也就是堆)&#xff0c;顺序二叉树的实际作用就是解决堆排序以及Topk问题。 今天我们要学习的内容是链式二叉树&#xff0c;并且实现链式二叉树&#xff0c;这篇博客与递归息息相关&a…

Leetcode.712 两个字符串的最小ASCII删除和

题目链接 Leetcode.712 两个字符串的最小ASCII删除和 mid 题目描述 给定两个字符串 s1 和 s2&#xff0c;返回 使两个字符串相等所需删除字符的 ASCII 值的最小和 。 示例 1: 输入: s1 “sea”, s2 “eat” 输出: 231 解释: 在 “sea” 中删除 “s” 并将 “s” 的值(115)加…

Keepalived+LVS高可用集群

目录 一、keepalived介绍&#xff1a; 二、keepalived工具介绍&#xff1a; &#xff08;1&#xff09;管理 LVS 负载均衡软件&#xff1a; &#xff08;2&#xff09;支持故障自动切换&#xff1a; &#xff08;3&#xff09;实现 LVS 负载调度器、节点服务器的高可用性&…

合宙Air724UG LuatOS-Air LVGL API控件-二维码(Qrcode)

二维码&#xff08;Qrcode&#xff09; 示例代码 qrcodelvgl.qrcode_create(lvgl.scr_act(),nil)lvgl.qrcode_set_txt(qrcode,"https://doc.openluat.com/home")lvgl.obj_set_size(qrcode,400,400)lvgl.obj_align(qrcode, nil, lvgl.ALIGN_CENTER, 0, 0)创建 可以通…