Перейти к содержанию

Установка Mojo

Вы можете установить Mojo в виде пакета Python или Conda. На этой странице показано, как установить его с помощью pixi, uv, pip и conda, но вы можете использовать и другие инструменты.

Начните программировать

Руководство для начинающих по Mojo вы найдете в руководстве по началу работы, которое включает в себя этапы установки.

Установка

Чтобы получить последнюю версию, мы рекомендуем установить нашу ночную сборку. Если вам нужна более проверенная, но более старая версия, установите стабильную сборку. Оба варианта показаны ниже.

Для обеспечения максимальной надежности мы рекомендуем использовать Pixi. Это одновременно и менеджер пакетов, и менеджер виртуальной среды, что само по себе значительно упрощает разработку, но при этом оно быстрое, не зависит от языка и предоставляет файлы блокировки для зависимостей пакетов. Для получения дополнительной информации ознакомьтесь с нашим руководством по основам работы с Pixi.

pixi

  1. Если у вас его нет, установите pixi:
    curl -fsSL https://pixi.sh/install.sh | sh
    
  2. Перейдите в каталог, в котором вы хотите создать проект, и запустите это:
    pixi init hello-world -c https://conda.modular.com/max-nightly/ -c conda-forge && cd hello-world
    
    При этом создается каталог проекта с именем hello-world, добавляется канал для модульных пакетов conda и вводится в каталог.

Совет: Вы можете удалить параметры -c, если укажете каналы по умолчанию.

  1. Установите Mojo:

Ночная сборка

pixi add mojo
Стабильная сборка
pixi add "mojo==0.25.6"
4. Войдите в виртуальную среду, чтобы получить доступ к командной строке mojo:
pixi shell
Подтвердите правильность установки, распечатав версию Mojo:
mojo --version

uv

  1. Если у вас его нет, установите uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    Затем перезагрузите свой терминал, чтобы сделать uv доступным.

  2. Создайте проект:

    uv init hello-world && cd hello-world
    

  3. Создайте и запустите виртуальную среду:
    uv venv && source .venv/bin/activate
    
  4. Установите Mojo:

Nightly

uv pip install mojo \
  --index-url https://dl.modular.com/public/nightly/python/simple/ \
  --prerelease allow
Stable
uv pip install mojo --extra-index-url https://modular.gateway.scarf.sh/simple/
Подтвердите правильность установки, распечатав версию Mojo:
mojo --version

pip

  1. Создайте папку проекта:
    mkdir hello-world && cd hello-world
    
  2. Создание и активация виртуальной среды:
    python3 -m venv .venv/hello-world && source .venv/hello-world/bin/activate
    
  3. Установите Mojo:

    Nightly

    pip install --pre mojo --index-url https://dl.modular.com/public/nightly/python/simple/
    
    Stable
    pip install mojo --extra-index-url https://modular.gateway.scarf.sh/simple/
    

Подтвердите правильность установки, распечатав версию Mojo:

mojo --version

conda

  1. Если у вас его нет, установите conda. Обычно используется Homebrew:
    brew install miniconda
    
  2. Инициализировать conda для взаимодействия с оболочкой:

    conda init
    
    Если вы используете Mac, вместо этого используйте:
    conda init zsh
    
    Затем перезагрузите свой терминал, чтобы изменения вступили в силу.

  3. Создайте проект:

    conda create -n hello-world
    

  4. Создайте и запустите виртуальную среду:
    conda activate hello-world
    
  5. Установите Mojo:

    Nightly

    conda install -c conda-forge -c https://conda.modular.com/max-nightly/ mojo
    

Stable

conda install -c conda-forge -c https://conda.modular.com/max/ "mojo==0.25.6"

Подтвердите правильность установки, распечатав версию Mojo:

mojo --version

Использование расширения VS Code

Если вы используете Visual Studio Code или другую производную от нее среду IDE (например, Cursor), мы рекомендуем установить расширение Mojo, которое предоставляет такие функции, как подсветка синтаксиса, завершение кода и поддержка отладки. Вы можете установить его из любого из мест:

Или откройте раздел "Расширения" в вашей IDE и найдите "Mojo" — убедитесь, что вы установили расширение из Modular.

До выхода версии 0.25.6 Mojo существовало две версии расширения Mojo: стабильная версия для работы со стабильной сборкой Mojo и ночная версия для работы с ночной сборкой Mojo. Одновременно с выпуском Mojo версии 0.25.6 мы объединили две версии в одно расширение, которое работает как для стабильных, так и для ночных сборок.

Новое расширение заменяет старую стабильную версию, поэтому, если у вас установлена стабильная версия, вы можете просто обновить ее, чтобы получить новую версию. Если у вас установлена ночная версия расширения, вам следует удалить ее и установить обычную (не ночную) версию.

Выводим "Hello world"

Если вы выполнили описанные выше действия по установке, ваш терминал должен быть в среде с установленным mojo. Для запуска некоторого кода вам просто нужен файл .mojo с функцией main():

  1. Создайте файл с именем hello.mojo с помощью этого кода:
    def main():
        print("Hello, World!")
    
  2. Запустите его с помощью mojo CLI:
    $ mojo hello.mojo
    
    Hello, World!
    

Примеры

У нас есть куча примеров кода на GitHub. Вот как их использовать:

  1. Клонируйте репозиторий:

    git clone https://github.com/modular/modular.git
    

    Если вы установили стабильную версию, обязательно ознакомьтесь со стабильной веткой на GitHub (основная ветка - это ночной код). Например:

    git clone -b stable https://github.com/modular/modular.git
    
  2. Перейдите к примерам:

    cd modular/examples/mojo
    
    Выберите пример и запустите его с помощью mojo.

    Если вы используете менеджер пакетов, отличный от pixi, убедитесь, что mojo установлен и доступен в вашей текущей среде shell. Затем запустите некоторый код:

    mojo nbody.mojo
    

    Если вы установили pixi, вам ничего не нужно делать — в наших примерах представлен файл pixi.toml, в котором указаны зависимости пакетов и настройки среды. Таким образом, вы можете сразу запустить код и убедиться, что у вас та же версия Mojo, для которой написан код. Вместо обстрела окружающей среды вы можете использовать pixi run:

    pixi run mojo nbody.mojo
    

Обновление

Следующие команды должны обновить ваш локальный пакет mojo, если доступна новая версия, совместимая с версией, указанной вами при установке или добавлении в качестве зависимого пакета. Дополнительные сведения об обновлении пакетов см. в документации для вашего менеджера пакетов.

pixi

pixi update mojo

uv

uv sync --upgrade-package mojo

pip

pip install --upgrade mojo

conda

conda update mojo

Удаление

Mojo устанавливается как пакет Python или Conda, поэтому применяется обычный процесс удаления пакета.

pixi

При этом пакет будет удален из вашего локального проекта:

pixi remove mojo
Это деактивирует вашу виртуальную среду:
exit

uv

При этом пакет будет удален из вашей локальной среды:

uv pip uninstall mojo && uv sync
Это деактивирует вашу виртуальную среду:
deactivate

pip

При этом пакет будет удален из вашей локальной среды:

pip uninstall mojo
Однако это не приведет к удалению зависимостей mojo, поэтому некоторые "дополнительные пакеты" останутся установленными. Рассмотрите возможность использования pip-автоматического перемещения или переключитесь на более совершенный менеджер пакетов, например Pixi.

Это деактивирует вашу виртуальную среду:

deactivate

conda

При этом пакет будет удален из вашего локального проекта:

conda remove mojo
Это деактивирует вашу виртуальную среду:
conda deactivate

Что входит в комплект

На самом деле мы предлагаем два пакета Mojo: mojo и mojo-compiler.

В большинстве случаев вам нужен mojo, потому что он включает в себя все инструменты разработчика (это дополнение к пакету mojo-compiler).

mojo

Это дает вам все необходимое для разработки Mojo.

Включает в себя:

  • mojo CLI (включает компилятор Mojo)
  • Mojo standard library
  • mojo Python package
  • Mojo language server (LSP) for IDE/editor integration
  • Mojo debugger (includes LLDB)
  • Mojo code formatter
  • Mojo REPL

mojo-compiler

Этот пакет меньше по размеру и полезен для сред, где вам нужно только вызвать или создать существующий Mojo-код. Например, это хорошо, если вы запускаете Mojo в производственной среде или когда вы программируете на Python и вызываете пакет Mojo — в ситуациях, когда вам не нужны инструменты LSP и отладчика.

Включает в себя:

  • mojo CLI (включает компилятор Mojo)
  • Mojo standard library
  • mojo Python package

Системные требования

Чтобы установить mojo или mojo-compiler, ваша система должна соответствовать этим требованиям.

Mac

  • macOS Ventura (13) or later
  • Apple silicon (M1/M2/M3/M4 processor)
  • Python 3.10 - 3.13
  • Xcode or Xcode Command Line Tools
  • В настоящее время мы не поддерживаем графические процессоры Mac(по состоянию на 2025 год)

Linux

  • Ubuntu 22.04 LTS
  • x86-64 CPU (with SSE4.2 or newer) or AWS Graviton2/3 CPU
  • Minimum 8 GiB RAM
  • Python 3.10 - 3.13
  • g++ or clang++ C++ compiler
  • Чтобы узнать об использовании графических процессоров, ознакомьтесь с разделом совместимость графических процессоров

Windows

В настоящее время Windows официально не поддерживается.

Тем временем вы можете попробовать Mojo в Windows с WSL, используя совместимую версию Ubuntu (см. наши требования к Linux).

Совместимость с GPU

Mojo поддерживает как центральные, так и графические процессоры, поэтому для программирования с помощью Mojo вам не нужен графический процессор. Но если вы все же хотите программировать для графических процессоров с помощью Mojo, мы рекомендуем следующие графические процессоры.

Поскольку мы не тестируем каждый вариант архитектуры графического процессора, а поддержка новых архитектур будет постепенно улучшаться, мы разделили наш список совместимых графических процессоров на 3 уровня:

Уровень 1: Полная поддержка

Мы обеспечиваем полную поддержку и тестирование следующих графических процессоров для центров обработки данных:

  • NVIDIA B200 (Blackwell)
  • NVIDIA H100 and H200 (Hopper)
  • AMD Instinct MI355X (CDNA4)
  • AMD Instinct MI300X and MI325X (CDNA3)

Уровень 2: Подтвержденная совместимость

Мы подтвердили полную совместимость со следующими графическими процессорами, но мы не проводим тесты для них:

  • NVIDIA A100 and A10 (Ampere)
  • NVIDIA L4 and L40 (Ada Lovelace)
  • NVIDIA RTX 50XX series (Blackwell)
  • NVIDIA RTX 40XX series (Ada Lovelace)
  • NVIDIA RTX 30XX series (Ampere)
  • NVIDIA Jetson Orin and Orin Nano (Ampere)

Уровень 3: Ограниченная совместимость

Мы либо подтвердили, либо получили сообщения о том, что следующие графические процессоры подходят для программирования на GPU с Mojo. Некоторые из них также могут выполнять базовые графики с помощью API MAX. Однако в настоящее время ни одна из этих основных моделей GenAI не работает с MAX:

  • Apple Silicon GPUs (M1 - M4)
  • NVIDIA RTX 20XX series (Turing)
  • NVIDIA T4 (Turing)
  • NVIDIA GTX 10XX series (Pascal)
  • NVIDIA Tesla P100 (Pascal)
  • AMD Radeon RX 9000 series (RDNA4)
  • AMD Radeon 800M series (RDNA3.5)
  • AMD Radeon 8050S / 8060S (RDNA3.5)
  • AMD Radeon 700M series (RDNA3)
  • AMD Radeon RX 7000 series (RDNA3)

Если вы добились успеха с какими-либо графическими процессорами, не перечисленными здесь, пожалуйста, сообщите нам об этом в Discord.

Требования к программному обеспечению для графического процессора

Убедитесь, что у вас есть соответствующее программное обеспечение для графического процессора: