Поддержка Python в 1.6.0 экспериментальная. Elide выполняет Python 3.13 со стандартной библиотекой; он не
устанавливает пакеты из PyPI, не форматирует код на Python и не запускает тесты Python через elide test.
| Задача | Команда | Статус |
|---|---|---|
| Добавить Python в установку | elide setup python | Доступно |
Запустить скрипт, -c или -m | elide python ..., elide run app.py | Доступно |
Запустить точку входа из pyproject.toml | elide run NAME | Доступно |
| Использовать пакеты из виртуального окружения | VIRTUAL_ | Доступно |
| Запустить unittest или pytest | elide python -m unittest, elide python -m pytest | Доступно |
| Установить пакеты из PyPI | elide install | Недоступно; используйте виртуальное окружение |
| Найти тесты Python | elide test | Недоступно |
Форматирование, LSP, шаблон elide init | Недоступно |
Добавление Python
Python — необязательный компонент:
elide setup pythonБез него команды Python выводят Python support is not installed. Run 'elide setup python' to add it. и завершаются с
кодом 2. Каналы и установка через менеджеры пакетов описаны в Python в Elide.
Запуск Python
elide python принимает те же аргументы, что и python; elide run и просто elide app.py тоже запускают файлы
.py:
elide python app.py --name Elide
elide python -m json.tool input.json
elide run app.pyФлаги интерпретатора (-I, -B, -u, -W, …) перечислены в
Python в Elide.
Запуск скриптов проекта
elide run NAME запускает точку входа из [project.scripts] в файле pyproject.toml текущего каталога. Файл
elide.pkl не нужен.
# pyproject.toml
[project]
name = "greet"
version = "0.1.0"
requires-python = ">=3.13"
[project.scripts]
greet = "greet.cli:main"# greet/cli.py
import sys
def greeting(name: str) -> str:
return f"Hello, {name}!"
def main() -> int:
print(greeting(sys.argv[1] if len(sys.argv) > 1 else "world"))
return 0elide run greet ElideHello, Elide!elide greet Elide делает то же самое. Аргументы после имени попадают в sys.argv, а целое число, которое возвращает
функция, становится кодом выхода. Приоритет имеют файл с именем greet, скрипт из elide.pkl или скрипт из
package.json с тем же именем; см. Настройка проекта.
Пакеты
elide install не устанавливает пакеты из PyPI, а elide install --ecosystems=pypi завершается с кодом 2.
Установите пакеты в виртуальное окружение Python 3.13 другим инструментом и укажите его Elide через VIRTUAL_ENV; см.
Пакеты и виртуальные окружения.
Тесты
Запускайте unittest или pytest через elide python -m; см. Тесты Python. elide test запускает
только тесты JavaScript, TypeScript и JUnit.
Примеры
У elide init нет шаблона для Python.
Известные ограничения
- Расширения на C: некоторые модули расширений на C не загружаются.
- pip: не входит в поставку;
elide python -m pipзавершается ошибкойNo module named pip. - Подробнее: Python в Elide.