La importación JMP 18 python pptx no parece funcionarHola a todos,
Mi empresa acaba de obtener la licencia JMP 18 y la automatización de PowerPoint ya no funciona debido a las dependencias. De la documentación de JMP entendí que Python ahora es una versión integrada, en cuyo caso las dependencias deben instalarse a través de jmputils. A continuación se muestra el código que tengo hasta ahora para las importaciones que solía usar el PowerPoint. Sigo recibiendo el mismo error incluso cuando las dependencias parecen actualizadas mediante el comando de lista.
scr = Python Execute(
{},
{},
"\[
import jmp
import jmputils
jmputils.jpip('list')
jmputils.jpip('install --upgrade', 'pip setuptools python-pptx')<BR />
from pptx import Presentation #Problem Line
from pptx.util import Inches
from pptx.dml.color import RGBColor
from datetime import date
]\"
);Aquí está el error de registro que estoy recibiendo:

Debido a esto, no puedo crear ni guardar la presentación. Cualquier ayuda sería muy apreciada. ¡Gracias!
Automatización y secuencias de comandosAcceso a los datosCompartir y comunicar resultadosventanasRe: La importación de JMP 18 python pptx no parece funcionarHay muchas formas de instalar paquetes de Python en JMP18 ( Instalar paquetes de Python usando JSL (jmp.com) ). ¿Hubo algún error durante la instalación del paquete? ¿Puedes usar jpip para instalar otros paquetes? Para mí, ejecutar su código pareció funcionar bien. Los paquetes deben instalarse en su directorio de usuarios de JMP Python, puede encontrarlo ejecutando el siguiente comando de Python en JMP
import jmp
print(jmp.PY_USER_APPDIR)
Etiquetar a @Paul_Nelson porque probablemente tenga más ideas sobre lo que podría estar mal.
Re: La importación de JMP 18 python pptx no parece funcionarimport jmp
from jmputils import jpip
jpip('list')
jpip('install --upgrade', 'pip setuptools python-pptx')
El resultado que obtengo al ejecutar lo anterior es:
Requirement already satisfied: pip in c:\users\_myUSERID_\appdata\roaming\jmp\jmp\python\python311\site-packages (24.0)
Collecting pip
Downloading pip-24.1.2-py3-none-any.whl.metadata (3.6 kB)
Requirement already satisfied: setuptools in c:\users\_myUSERID_\appdata\roaming\jmp\jmp\python\python311\site-packages (70.0.0)
Collecting setuptools
Downloading setuptools-70.3.0-py3-none-any.whl.metadata (5.8 kB)
Collecting python-pptx
Downloading python_pptx-0.6.23-py3-none-any.whl.metadata (18 kB)
Collecting lxml>=3.1.0 (from python-pptx)
Downloading lxml-5.2.2-cp311-cp311-win_amd64.whl.metadata (3.5 kB)
Collecting Pillow>=3.3.2 (from python-pptx)
Downloading pillow-10.4.0-cp311-cp311-win_amd64.whl.metadata (9.3 kB)
Collecting XlsxWriter>=0.5.7 (from python-pptx)
Downloading XlsxWriter-3.2.0-py3-none-any.whl.metadata (2.6 kB)
Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)
---------------------------------------- 1.8/1.8 MB 8.3 MB/s eta 0:00:00
Downloading setuptools-70.3.0-py3-none-any.whl (931 kB)
---------------------------------------- 931.1/931.1 kB 4.9 MB/s eta 0:00:00
Downloading python_pptx-0.6.23-py3-none-any.whl (471 kB)
---------------------------------------- 471.6/471.6 kB 5.0 MB/s eta 0:00:00
Downloading lxml-5.2.2-cp311-cp311-win_amd64.whl (3.8 MB)
---------------------------------------- 3.8/3.8 MB 8.1 MB/s eta 0:00:00
Downloading pillow-10.4.0-cp311-cp311-win_amd64.whl (2.6 MB)
---------------------------------------- 2.6/2.6 MB 9.1 MB/s eta 0:00:00
Downloading XlsxWriter-3.2.0-py3-none-any.whl (159 kB)
---------------------------------------- 159.9/159.9 kB 3.2 MB/s eta 0:00:00
Installing collected packages: XlsxWriter, setuptools, pip, Pillow, lxml, python-pptx
Attempting uninstall: setuptools
Found existing installation: setuptools 70.0.0
Uninstalling setuptools-70.0.0:
Successfully uninstalled setuptools-70.0.0
Attempting uninstall: pip
Found existing installation: pip 24.0
Uninstalling pip-24.0:
Successfully uninstalled pip-24.0
Successfully installed Pillow-10.4.0 XlsxWriter-3.2.0 lxml-5.2.2 pip-24.1.2 python-pptx-0.6.23 setuptools-70.3.0
En cuyo punto
from pptx import Presentation
Da en el registro
//:*/
from pptx import Presentation
/*:
Yo miraría el registro e investigaría lo que ve en el registro cuando ejecuta:
jmputils.jpip('install --upgrade', 'python-pptx')
Siento que debe haber tenido algún problema al instalar el paquete, que debería informarse en el registro. Podrían ser permisos; para acceder a Internet, podrían ser permisos de disco, podría ser falta de espacio en disco, ... Sin saber qué informó jpip para registrar, es un poco difícil de rastrear. Probé lo anterior con 18.1.0 y no tuve problemas. ¿Has intentado cerrar JMP y reiniciar? No tuve problemas para instalar o ejecutar su script. Como todo lo que estamos ejecutando aquí es código Python, lo ejecuté directamente desde una ventana de script de Python, en lugar de Python Submit() o Python Execute() desde JSL. Los paquetes de instalación de Pyrthon de JSL ("python-pptx") también deberían funcionar. Debajo del capó llama jmputils.jpip(). También puede bajar al nivel de terminal para instalar paquetes. Utilice Python Crear JPIP CMD(); para crear una línea de comando personalizada jpip.bat o un script de shell jpip (macOS) que se personalice para su entorno JMP. Al ejecutar el comando se inicia un selector de diálogo para elegir el directorio de destino para guardar el script jpip. Desde la ventana cmd/ejecutar terminal
c:\path_you_chose\jpip.bat install python-pptx
Re: La importación de JMP 18 python pptx no parece funcionarHola Pablo,
Reinicié JMP y el código que proporcioné funcionó de manera bastante interesante. Agradezco la descripción detallada y los pasos adicionales que podría seguir para solucionar problemas si los necesito en el futuro. ¡Gracias!
Re: La importación de JMP 18 python pptx no parece funcionarHola jarmo,
Gracias por la ayuda inicial y por comunicarme con Paul. ¡Aprecio la ayuda!
Re: La importación de JMP 18 python pptx no parece funcionarDebería haber mencionado desde el principio reiniciar JMP. Esa fue una de las primeras soluciones desde JMP 18.0. En el primer lanzamiento, el directorio de paquetes del sitio no se ha establecido hasta que sea necesario. Pero Python no reconoce ningún paquete agregado si el directorio de paquetes del sitio se crea después de la inicialización de Python. Una vez establecido, puede agregar nuevos paquetes y la integración de JMP Python debería verlos inmediatamente. Esto se solucionó en la rama de desarrollo de JMP 19 porque el propio JMP establece el directorio de paquetes del sitio antes de la inicialización de Python. Es un cambio de código lo suficientemente grande como para no estar en la rama 18.