0. Introducción
- Instalar WinPython que es un ejecutable que no requiere instalación de librerías.
- Crear un entorno virtual de WinPython
- Crea un fichero batch que active el entorno virtual y ejecute el programa python en cuestión
1. Instalar WinPython
2. Crear entorno virtual
Supongamos que se ha compartido para ello una carpeta en el servidor y la hemos mapeado a la unidad Y, y queremos que el entorno virtaul esté en Y:\weenv
El ejecutable de python está en la carpeta python-3.12.4.amd64, Nos situamos en dicha carpeta y ejecutamos
Y:\WPy64-31241\python-3.12.4.amd64>python.exe -m venv Y:\wvenv
y contesta
Actual environment location may have moved due to redirects, links or junctions.
Requested location: "Y:\wvenv\Scripts\python.exe"
Actual location: "\\srv-softprop2\Prog_PY\wvenv\Scripts\python.exe"
Activamos el entorno virtual e instalamos las dependencias:
Y:\venv\Scripts\activate.bat pip install -r requirements.txt
Si no tenemos el requirements, podemos ejecutr una a una utilizando "pip install dependencia"
3. Crear el script que activa el entorno virtual y ejecuta dicho programa
Según ChatGPT tenemos este script (menu_soft.bat) que activando el entorno virtual venv ejecuta el programa python menu_soft.py
El "pause" que hay al final hay que quitarlo una vez comprabado que funcione el script.
Hay algunos ordenadores que no va bien dicho script y no he averiguado porqué.
@echo off REM No podem fer un cd //server01/Prog_PY. Conseguir la carpeta del programa set SCRIPT_FOLDER=%~dp0 pushd %SCRIPT_FOLDER% REM Path to the virtual environment set WINPYTHON_ACTIVATE=wvenv\Scripts\activate.bat REM Path to Python.exe set PYTHON_EXE=wvenv\Scripts\python.exe REM Path to the Python program set PYTHON_PROGRAM=menu_tk.py REM Activate the virtual environment call %WINPYTHON_ACTIVATE% REM Check if activation succeeded if errorlevel 1 ( echo Failed to activate virtual environment. exit /b 1 ) call %PYTHON_EXE% %PYTHON_PROGRAM% REM Deactivate the virtual environment deactivate pause
4. Crear un acceso directo en el ordenador del cliente
Supongamos que el servidor tien de nombre "server01", y la carpeta compartida tiene el nombre "Prog_PY"
Ahora en el ordenador cliente mapeamos una unidad de red a la carpeta compartida de este servidor:
- Conectar a una unidad de red
- Le damos el valor de la unidad "P" que será la que deben tener cualquier ordenador que quiera ejecutar el programa. Pued3e ser otra letra, pero será la misma para todos los ordenadores que se conecten.
- La ruta remota a mapear esta letra "P" es //server01/Prog_PY tal como hemos dicho
P:/menu_soft.bat
Y si ejecutamos aparece la pantallita:
No hay comentarios :
Publicar un comentario