Instalacion¶
wsbuilder se distribuye como paquete Python puro y no arrastra dependencias de
runtime. Eso simplifica tanto la instalacion normal con pip como la instalacion
local sin internet.
1. Instalar con pip¶
La ruta recomendada para la mayoria de usuarios es instalar desde PyPI:
python -m pip install --upgrade pip
python -m pip install wsbuilder
En Debian, Kali, Ubuntu y otros entornos que aplican PEP 668, pip puede
rechazar la instalacion sobre el Python del sistema con el error
externally-managed-environment. En esos casos, instala dentro de un entorno
virtual.
En un entorno virtual¶
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install wsbuilder
py -m venv .venv
.venv\Scripts\Activate.ps1
py -m pip install --upgrade pip
py -m pip install wsbuilder
Verificar la instalacion¶
python -c "import wsbuilder; print(wsbuilder.__version__)"
wsbuilder --help
2. Compilar en local e instalar en local sin internet¶
Usa esta ruta cuando ya tienes una copia local del repositorio y no quieres que
pip ni el sistema de build intenten consultar PyPI.
Requisitos previos¶
- Tener el repositorio clonado o copiado en la maquina local.
- Tener Python
3.11+. - Tener disponibles en el entorno
build,setuptoolsywheel. - Si vas a usar un
venv, crearlo antes de desconectarte o con herramientas ya instaladas localmente.
Compilar el wheel local sin red¶
El flag --no-isolation es importante: evita que build cree un entorno aislado
e intente descargar dependencias de compilacion.
python -m build --no-isolation
El resultado queda en dist/, por ejemplo:
dist/wsbuilder-0.9.1.dev0-py3-none-any.whl
dist/wsbuilder-0.9.1.dev0.tar.gz
Instalar el wheel local sin consultar PyPI¶
python -m pip install --no-index dist/wsbuilder-*.whl
Si ese comando falla con externally-managed-environment, el wheel esta bien y
el bloqueo viene del Python del sistema. La ruta soportada es:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --no-index dist/wsbuilder-*.whl
Solo si necesitas forzar una instalacion global en ese Python gestionado por el
sistema, pip ofrece --break-system-packages, pero queda fuera del flujo
recomendado porque puede interferir con paquetes de la distribucion:
python -m pip install --break-system-packages --no-index dist/wsbuilder-*.whl
Instalar desde el codigo fuente local sin wheel¶
Si no quieres pasar por dist/, puedes instalar directamente desde el arbol del
repositorio. El flag --no-build-isolation evita que pip intente construir en
un entorno aislado y el flag --no-deps evita cualquier resolucion externa.
python -m pip install --no-index --no-build-isolation --no-deps .
Verificar la instalacion offline¶
python -c "import wsbuilder; print(wsbuilder.__version__)"
wsbuilder --help
Flujo recomendado para distribuir en una red cerrada¶
- En una maquina de build, ejecuta
python -m build --no-isolation. - Copia el archivo
dist/wsbuilder-*.whla la maquina destino. - En la maquina destino, instala dentro de un
venvconpython -m pip install --no-index dist/wsbuilder-*.whl.
Ese flujo es el mas estable porque instala desde un artefacto ya construido y no depende de herramientas de compilacion en la maquina final.