Перейти к содержимому

Инструменты Python

Что охватывают инструменты Python в Elide 1.6.0: необязательный компонент Python, запуск скриптов и модулей, точки входа из pyproject.toml, виртуальные окружения, тесты и то, что недоступно.

На этой странице

Поддержка Python в 1.6.0 экспериментальная. Elide выполняет Python 3.13 со стандартной библиотекой; он не устанавливает пакеты из PyPI, не форматирует код на Python и не запускает тесты Python через elide test.

ЗадачаКомандаСтатус
Добавить Python в установкуelide setup pythonДоступно
Запустить скрипт, -c или -melide python ..., elide run app.pyДоступно
Запустить точку входа из pyproject.tomlelide run NAMEДоступно
Использовать пакеты из виртуального окруженияVIRTUAL_ENV=.venv elide python app.pyДоступно
Запустить unittest или pytestelide python -m unittest, elide python -m pytestДоступно
Установить пакеты из PyPIelide installНедоступно; используйте виртуальное окружение
Найти тесты Pythonelide 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 0
elide run greet Elide
Hello, 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.

Была ли эта страница полезной?