La compatibilidad con Python es experimental en la versión 1.6.0.
Sin instalar CPython
Elide ejecuta Python 3.13 y su biblioteca estándar por sí mismo.
Añada el componente opcional de Python:
elide setup python--channel=release o --channel=nightly elige el canal; --force lo reinstala. Las instalaciones con apt y RPM no
pueden añadirlo; consulte Instalación. Sin el componente, los comandos de Python imprimen
Python support is not installed. Run 'elide setup python' to add it. y terminan con el código 2.
Ejecutar Python
elide python acepta los mismos argumentos que python:
elide python app.py --name Elide --count 2 # sys.argv: ['app.py', '--name', 'Elide', '--count', '2']
elide python -c 'import sys; print(sys.version)'
elide python -m json.tool input.json
echo 'print("from stdin")' | elide python -Los argumentos que siguen al script, a -c CMD o a -m MODULE pasan al programa. elide python sin argumentos
abre el REPL en una terminal y, en otro caso, lee la entrada estándar.
Los comandos generales ejecutan archivos .py con el mismo sys.argv:
elide app.py
elide run app.py
elide -l python -s 'print(1 + 1)'Opciones del intérprete
Póngalas antes del script, de -c o de -m. elide --help-all las lista en “Python interpreter options”.
| Opción | Efecto |
|---|---|
-c CMD | Ejecuta CMD como programa; los argumentos siguientes pasan a sys.argv[1:]. |
-m MODULE | Ejecuta un módulo de biblioteca como __main__. |
-s | No añade el directorio site del usuario a sys.path. |
-I | Modo aislado. |
-E | Ignora las variables de entorno PYTHON*. |
-S | No ejecuta import site al iniciar. |
-P | No antepone a sys.path una ruta potencialmente insegura. |
-B | No escribe archivos de bytecode. |
-u | Salida estándar y de error sin búfer. |
-O | Nivel de optimización; repítala para -OO. |
-b | Avisa en las comparaciones bytes/str; repítala para lanzar errores. |
-W ARG | Control de advertencias; puede repetirse. |
-x | Se acepta por compatibilidad; no tiene efecto. |
Dos opciones están activas por defecto: -S, porque Elide construye sys.path por sí mismo y omite site para
acelerar el inicio, y -B. sys.flags informa de ambas. Para importar site (archivos .pth, sitecustomize), pase
-X polyglot.python.NoSiteFlag=false; para escribir bytecode, pase -X polyglot.python.DontWriteBytecodeFlag=false.
Biblioteca estándar
La biblioteca estándar incluye json, pathlib, sqlite3, ssl, zlib y ctypes. bz2 y lzma no necesitan
libbz2 ni liblzma del sistema. Para los controladores de bases de datos que incluye Elide, consulte
Bases de datos.
Interoperabilidad con JavaScript
Con --interop, Python evalúa JavaScript mediante el módulo integrado elide:
# sum.py
from elide import js
print(js("[1, 2, 3].reduce((a, b) => a + b, 0)"))elide --interop python sum.pyJavaScript y TypeScript importan la exportación por defecto de un módulo de Python:
// main.mjs
import mod from "./mod.py";
console.log(mod.hello());elide --interop run main.mjsSin --interop, estas llamadas fallan. Consulte Lenguajes e interoperabilidad.
Paquetes de terceros
Elide no instala paquetes de PyPI: elide install omite dependencies.pypi, y
elide install --ecosystems=pypi termina con el código 2. Para cargar paquetes desde un entorno virtual de
Python 3.13, defina VIRTUAL_ENV:
export VIRTUAL_ENV=/path/to/venv
elide python app.pyElide lee el directorio lib/python3.13/site-packages del entorno.
Consulte Paquetes y entornos virtuales; para unittest y pytest, consulte Pruebas de Python.
Trazas y métricas
La API de opentelemetry y logging exportan trazas, métricas y registros a través de Elide, sin instalar ningún
SDK; consulte OpenTelemetry en Python.
Limitaciones conocidas
- Extensiones en C: algunos módulos de extensión en C no se cargan.
- macOS: el aislamiento de módulos nativos no está disponible.
- SIMD de WebAssembly: instalar Python lo desactiva; consulte WebAssembly con Elide.
- Diferencias con CPython: algunos casos límite se comportan de forma distinta a CPython 3.13; consulte la Matriz de compatibilidad.