Richiamare pacchetto Python da altro linguaggio

Pubblicità

dgcross

Utente Attivo
Messaggi
1,281
Reazioni
342
Punteggio
77
Ciao a tutti,
io ho scritto un piccolo programma in python che svolge delle analisi e sputa fuori dei grafici, ora il modello da me creato dovrebbe essere inglobato in un altro programma.
Da quel che ho capito l'interfaccia sarà in php e mi è stato chiesto se posso convertire il mio programma in una dll.
Io di queste faccende sono completamente digiuno, cercando in giro ho trovato questo, che però si riferisce a script, mentre per me sarebbe più comodo poter chiamare i miei metodi fornendo degli array come input e restituendo altri array come output.
A mali estremi creo uno script per ogni tipo di analisi che poi va a leggere un file di config, ma preferirei qualcosa di meno farraginoso se fosse possibile
Grazie :)
 
Beh, Python e' un linguaggio che viene usato per scrivere script, non librerie (e nemmeno eseguibili)
Il consiglio di stackoverflow e' (come quasi sempre) giusto. Passa i valori allo script mediante argomenti "command in line", e leggine l'uscita. O scrivi l'uscita su file e leggi il file, se per te e' piu' conveniente. Un altro vantaggio di lanciare lo script e' che lo puoi fare in maniera asincrona, e controllare ogni tanto quando il file di uscita e' pronto.
 
Grazie per la risposta.
Il fatto è che io vengo da una preparazione in data science e per i modelli in questo ambito si usa principalmente python. il problema sorge quando questi modelli vanno integrati dentro a dei software: io non ho la minima idea di come fare, ma nemmeno i miei interlocutori mi paiono molto ferrati al riguardo.
 
Come suggerito dal link che hai messo
PHP:
exec("python mypythonscript.py someparams",$output);
var_dump($output);
è il metodo migliore, diciamo.
Devi assicurarti che sulla macchina in cui gira questo software sia installato python e quel comando serve proprio a far partire un "cmd" e recuperare i dati.
Io lo uso in metodo simile per recuperare determinati valori da bash di linux, far girare piccoli applicativi java e recuperare i risultati.
 
... io vengo da una preparazione in data science e per i modelli in questo ambito si usa principalmente python ...
Ma solo perche' usi librerie IA (tipo PyTorch o Tensor Flow) che sono facili da gestire in python, di fatto tu devi scrivere ben poco codice. A quel punto sarebbe meglio evitare di usare Python e usare direttamente quelle librerie nel framework che si usa. In genere si usa Python per "provare" quelle librerie, perche' permette di farlo in maniera veloce, ma poi quando si e' trovato il modo migliore per usarle gli scritti in python si buttano via.
 
e sputa fuori dei grafici

Se devi mandare il grafico allo script php, è laborioso. Altro paio di maniche se invece devi mandare solo una matrice piena di numeri.

Se di mezzo c'è un browser ( come suppongo ) puoi considerare l'ipotesi di catturare direttamente le immagini, chiamando gli script python con passthru https://www.php.net/manual/en/function.passthru.php

In caso contrario, te la cavi con exec.

Considera che in un contesto dove le risorse sono accessibili tramite url, puoi benissimo richiamare gli script ( di qualsiasi tipo ) usando le funzioni per l'accesso al web.

E' possible ( ma complesso ) usare Apache Thrift http://thrift.apache.org/
 
Pubblicità
Pubblicità
Indietro
Top