Avvio del codice Python da uno script JSL su un serverCiao a tutti,
In un server (senza connessione internet), ho uno script JSL che a un certo punto richiama uno script python (in un ambiente virtuale). Di seguito è riportato il comando JSL che richiama il python. Il python è memorizzato in un disco F:\.
strCommand = “Path\to\virutual_env\.venv\Scripts\activate.bat\!” && python \!“Path\to\python_script.py\!””;
Run Program( Executable( “cmd.exe” ), Options( “/C ” || strCommand ) );
- Se eseguo lo stesso comando direttamente nel prompt dei comandi del server (in modalità amministratore o meno): "Path\to\virutual_env\.venv\Scripts\activate.bat" && python "Path\to\python_script.py\", funziona
- Se eseguo questo codice JSL sul mio PC, funziona anche.
Tuttavia, se eseguo questo codice JSL sul server, non funziona più. Non viene eseguito alcun python, ma non viene visualizzato alcun messaggio di errore.
Per informazione: non avendo accesso a Internet, per l'ambiente virtuale Python ho trasferito manualmente i pacchetti sul server e ho attivato l'ambiente per leggere i pacchetti.
Qualcuno ha avuto lo stesso problema?
Automazione e scriptingRe: Avvio del codice Python da uno script JSL su un serverHai gli stessi percorsi sul tuo PC e sul server? Uno dei due ha spazi nei percorsi (potrebbero esserci potenzialmente dei problemi con le virgolette quando si usa Run Program)? Inizia a suddividere il problema in parti più piccole:
- Riesci ad accedere correttamente al percorso?
- Sai usare Python?
- Puoi attivare venv?
- E così via
Re: Avvio del codice Python da uno script JSL su un serverCiao,
Grazie mille! Infatti il problema era che c'era uno spazio nel percorso
Re: Avvio del codice Python da uno script JSL su un serverCome hai risolto il problema? Hai "corretto" il percorso del file o hai provato a capire come dovrebbe essere quotato per JMP/riga di comando per capire cosa stai cercando di fare?
Re: Avvio del codice Python da uno script JSL su un serverPoiché dovevo fare una correzione rapida, ho prima rimosso gli spazi nel percorso. Devo ammettere che non sono tornato sull'argomento in seguito... ma sono in trattativa con il supporto JMP. Suggeriscono di usare Python da JMP18, ma non supportano gli ambienti virtuali, quindi dovresti installare le versioni del pacchetto direttamente da loro. E ho clienti che stanno usando "solo" JMP 17 al momento e vorrebbero la stessa cosa. Ti terrò aggiornato
Re: Avvio del codice Python da uno script JSL su un serverL'applicazione Pass quote into Run Program ha un'opzione. Ho usato qualcosa di simile quando ho dovuto passare le virgolette a Run Program e se ricordo bene anche altri metodi.
Re: Avvio del codice Python da uno script JSL su un serverhttps://community.jmp.com/t5/Discussions/Unable-to-parse-speechmarks-quot-quot-into-powershell-using/mp/245968/highlight/true#M48328 ( in Impossibile analizzare i segni vocali "" in powershell tramite RunProgram ) contiene link a una spiegazione del motivo per cui le virgolette della riga di comando di Windows sono così difficili. Rimuovere gli spazi in un nome di percorso è un'ottima scelta.