L'importazione di Python pptx in JMP 18 non sembra funzionareCiao a tutti,
La mia azienda ha appena ottenuto la licenza JMP 18 e l'automazione di PowerPoint non funziona più a causa delle dipendenze. Dalla documentazione di JMP ho capito che Python è ora una versione integrata nel qual caso le dipendenze devono essere installate tramite jmputils. Di seguito è riportato il codice che ho finora per le importazioni utilizzate da PowerPoint. Ricevo ancora lo stesso errore anche con le dipendenze che sembrano aggiornate tramite il comando list.
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
]\"
);Ecco l'errore di registro che ricevo:

Per questo motivo non sono in grado di creare e salvare la presentazione. Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
Automazione e scriptingAccesso ai datiCondivisione e comunicazione dei risultatifinestreRi: L'importazione di JMP 18 Python pptx non sembra funzionareEsistono molti modi per installare i pacchetti Python in JMP18 ( Installa pacchetti Python utilizzando JSL (jmp.com) ). Si sono verificati errori durante l'installazione del pacchetto? Puoi usare jpip per installare altri pacchetti? Per me l'esecuzione del tuo codice sembrava funzionare bene. I pacchetti dovrebbero essere installati nella directory utente JMP Python, puoi trovarlo eseguendo il seguente comando python in JMP
import jmp
print(jmp.PY_USER_APPDIR)
Taggando @Paul_Nelson perché molto probabilmente ha più idee su cosa potrebbe esserci che non va.
Ri: L'importazione di JMP 18 Python pptx non sembra funzionareimport jmp
from jmputils import jpip
jpip('list')
jpip('install --upgrade', 'pip setuptools python-pptx')
Il risultato che ottengo eseguendo quanto sopra è:
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
A quel punto
from pptx import Presentation
Fornisce nel registro
//:*/
from pptx import Presentation
/*:
Vorrei esaminare il registro e indagare su ciò che vedi nel registro quando esegui:
jmputils.jpip('install --upgrade', 'python-pptx')
Sento che devi aver riscontrato qualche problema durante l'installazione del pacchetto, che dovrebbe essere segnalato nel registro. Potrebbero essere dei permessi; per accedere a Internet, potrebbero essere i permessi del disco, potrebbe essere la mancanza di spazio su disco, ... Senza sapere cosa jpip ha segnalato per registrare è difficile rintracciarlo. Ho provato quanto sopra con 18.1.0 e non ho avuto problemi. Hai provato a chiudere JMP e riavviarlo? Non ho avuto problemi nell'installazione o nell'esecuzione del tuo script. Poiché tutto ciò che stiamo eseguendo qui è codice Python, l'ho eseguito direttamente da una finestra di script Python, anziché da Python Submit() o Python Execute() da JSL. Anche i pacchetti di installazione Pyrthon ("python-pptx") di JSL dovrebbero funzionare. Dietro il cofano chiama jmputils.jpip(). Puoi anche scendere al livello del terminale per installare i pacchetti. Usa Python Crea JPIP CMD(); per creare una riga di comando su misura jpip.bat o uno script shell jpip (macOS) personalizzato per il tuo ambiente JMP. L'esecuzione del comando avvia una finestra di dialogo per scegliere la directory di destinazione per il salvataggio dello script jpip. Dalla finestra cmd/Esegui terminale
c:\path_you_chose\jpip.bat install python-pptx
Ri: L'importazione di JMP 18 Python pptx non sembra funzionareCiao Paul,
Ho riavviato JMP e il codice fornito ha funzionato in modo abbastanza interessante. Apprezzo la descrizione dettagliata e i passaggi aggiuntivi che potrei utilizzare per risolvere i problemi se ne avrò bisogno in futuro. Grazie!
Ri: L'importazione di JMP 18 Python pptx non sembra funzionareCiao Jarmo,
Grazie per l'aiuto iniziale e per aver contattato Paul, apprezzo l'aiuto!
Ri: L'importazione di JMP 18 Python pptx non sembra funzionareAvrei dovuto menzionare subito il riavvio di JMP. Questa è stata una delle prime correzioni da JMP 18.0. Al primo avvio, la directory dei pacchetti del sito non viene stabilita finché non è necessaria. Ma Python non riconosce alcun pacchetto aggiunto se la directory site-packages viene creata dopo l'inizializzazione di Python. Una volta stabilito, puoi aggiungere nuovi pacchetti e l'integrazione JMP Python dovrebbe vederli immediatamente. Questo problema è stato risolto nel ramo di sviluppo di JMP 19 poiché JMP stesso stabilisce la directory dei pacchetti del sito prima dell'inizializzazione di Python. È una modifica al codice abbastanza grande da non essere nel ramo 18.