Skip to content
当前页大纲

Mojo 环境搭建与初体验

这是 Mojo 学习模块的第一篇。所有示例基于 Mojo 1.0(2026 年 8 月发布)——注意网上大量 2024 年前的中文教程使用的是旧语法(fnletborrowed/inout/owned),已与 1.0 不兼容,学习时请认准版本。

一、Mojo 是什么,为什么值得现在学

用三句话概括:

  1. 语法像 Python,性能对标 C++/CUDA——官方演示中特定基准比 Python 快 35000 倍,日常数值计算场景普遍能拿到数量级的加速
  2. 为异构计算而生——同一门语言写上层业务、底层算子、系统组件,内建 SIMD 向量化和编译期元编程
  3. 1.0 + 全面开源——2026 年 8 月语言语义冻结进入长期稳定,编译器以 Apache 2.0 开源,被高通收购后仍保持独立运营

对有 Python 基础的开发者,Mojo 的学习曲线是所有系统级语言里最平缓的。

二、安装:Mojo 现在是个 pip/conda 包

Mojo 1.0 的一大变化:安装方式彻底 Python 化,不需要再下载 Modular 的独立安装器,用任意 Python/Conda 包管理器即可。官方推荐 pixiuv

方式一:pixi(官方推荐)

bash
# 1. 安装 pixi(跨平台包管理器)
curl -fsSL https://pixi.sh/install.sh | sh

# 2. 创建 Mojo 项目
pixi init hello-mojo \
    -c https://conda.modular.com/max/ \
    -c conda-forge
cd hello-mojo

# 3. 添加 Mojo
pixi add mojo

# 4. 进入项目环境
pixi shell

方式二:uv

bash
# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 直接安装 Mojo
uv pip install mojo

# 或创建项目并安装
uv init hello-mojo
cd hello-mojo
uv add mojo

方式三:已有 conda 环境

bash
conda create -n mojo -c https://conda.modular.com/max/ -c conda-forge mojo
conda activate mojo

安装完成后验证:

bash
mojo --version

三、第一个程序

创建 hello.mojo

mojo
def main():
    print("Hello, Mojo!")

运行:

bash
mojo hello.mojo

没错,和 Python 几乎一模一样。区别在于:这行代码被编译成原生机器码,没有解释器和 GIL。

四、常用 CLI 命令

命令作用
mojo hello.mojo编译并运行单个文件
mojo build hello.mojo编译为独立可执行文件
mojo repl进入交互式 REPL(类似 python 命令行)
mojo format .格式化代码(类似 gofmt / rustfmt)
mojo doc hello.mojo从 docstring 生成 API 文档
mojo debug hello.mojo调试模式运行

体验一下 REPL:

bash
$ mojo repl
>>> var x = 6 * 7
>>> print(x)
42

五、写一个「能看出性能差距」的例子

光看 hello world 感受不到 Mojo 的价值。来一个对比:

mojo
def main():
    var total: Int = 0
    for i in range(1, 100_000_001):
        total += i
    print(total)  # 5000000050000000

一亿次累加,Mojo 编译后通常在几十毫秒内完成(试试 Python 跑同样的循环要多久——分钟级)。这就是「Python 语法 + 编译型性能」的直观体验。

六、编辑器配置

  • VS Code:安装 Mojo 扩展(官方提供语法高亮、补全、跳转)
  • 其余编辑器可用 LSP 接入;mojo format 可集成到保存钩子

七、小结

  • Mojo 1.0 已可通过 pixi/uv/pip 安装,环境搭建成本 ≈ 一个 Python 包
  • 语法起点对 Python 开发者零门槛,性能起点是编译型语言
  • 注意甄别旧语法教程:fn/let/owned 等写法在 1.0 中已被移除或重做

下一篇:变量与基本类型。

MIT License.