Domanda

Ciao Voglio distribuire un'applicazione MATLAB sul Web utilizzando pitone. C'è un modo per fare it.I sono convertiti mia applicazione in file jar (classi Java) come per la documentazione sul sito matematica funziona. Qualcuno può punto nella giusta direzione ad andare avanti

È stato utile?

Soluzione

Il fatto che il codice Matlab è confezionato come Vasi non può aiutare più di tanto qui, almeno non con puro Python.

Ci sono alcuni modi si può prendere il codice scritto in Java ed esporla a Python.

Jython

Se si è disposti a dare un colpo Jython questo può essere un modo molto semplice per fornire un'interfaccia Django ai vostri vasetti.

In pratica si arriva a scrivere un normale Django App e anche utilizzare Jython per lavorare in modo nativo con i vostri vasetti. Questo potrebbe essere il meglio dei due mondi supponendo che non sono legati a CPython.

Django-Jython

Java Compatibile con

Su CPython uno dei seguenti progetti vi aiuterà a lavorare con il codice nei file Jar:

  • JCC : Creare un modulo di estensione Python che avvolge il file Jar
  • JPype :. Fornisce un'API per l'esecuzione di JVM e mettere in codice in esecuzione in quel JVM da Python

Processo separato:

Se si dispone di un programma autonomo scritto in Matlab (in realtà qualsiasi lingua) si poteva eseguirlo come un processo figlio della vostra applicazione Django. Staresti in un semplice modulo web in Django che vi ha permesso di presentare i valori per essere input per questo processo e quindi nella vista (dopo la convalida del modulo) faresti qualcosa di simile:

command = "mymatlabprogram.exe %s"%(arg1,)
process = subprocess.Popen(command.split())
stdout, stderr = process.communicate()

Supponendo che ha funzionato si poteva tirare fuori le risposte di messaggi stdout o di errore di stderr. Si potrebbe servire un'immagine creata da quel processo, ecc Una volta che qualcosa di simile sta lavorando si poteva guardare in celeryd per estrarre la roba sottoprocesso dal web app.

Il vantaggio di lavorare con un processo separato che è di isolare i bug nel codice Matlab da rompere l'applicazione Web e il vizio contro. Lo svantaggio è che devi serializzare tutto e lavorare con più volte tra il browser del client e la vostra web app, tra l'applicazione Web e il file eseguibile, e al client.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top