Probleme d'execution script python depuis serveur nodejs
wanwanwan
Messages postés
14
Statut
Membre
-
wanwanwan Messages postés 14 Statut Membre -
wanwanwan Messages postés 14 Statut Membre -
Bonjour,
Je poste ce sujet car j'ai un problème sur le lancement d'un script python via nodejs. Problème que je ne comprends absolument pas... En effet car le script python fonctionne très bien quand je l’exécute depuis l'invite de commande, mais quand je le lance depuis mon serveur nodejs rien...
Du coup, je me dis que c'est la commande de mon nodejs qui est mauvaise, mais quand je lance un autre script python depuis la commande nodejs alors ce script python s’exécute parfaitement.. tout est identique, seul le script est différent (mêmes répertoires etc...). Du coup je me dis que cela vient du script, mais comme ce fameux script fonctionne parfaitement lorsque je le lance depuis l'invite de commande alors je ne sais pas...
ça fait maintenant 2 jours que je gratte, essaie diverses manip, etc... en exécutant même un fichier .bat qui lance le script, mais rien n'y fait. Le serveur ne veut pas lancer ce fameux script python !
Désespéré j'en appel donc aux forums, afin de m'indiquer une orientation de recherche pour afin trouver ce qui bloque.
En vous remerciant.
le code nodejs :
et le code de la page html :
Le code server nodejs (version allégée) :
Je poste ce sujet car j'ai un problème sur le lancement d'un script python via nodejs. Problème que je ne comprends absolument pas... En effet car le script python fonctionne très bien quand je l’exécute depuis l'invite de commande, mais quand je le lance depuis mon serveur nodejs rien...
Du coup, je me dis que c'est la commande de mon nodejs qui est mauvaise, mais quand je lance un autre script python depuis la commande nodejs alors ce script python s’exécute parfaitement.. tout est identique, seul le script est différent (mêmes répertoires etc...). Du coup je me dis que cela vient du script, mais comme ce fameux script fonctionne parfaitement lorsque je le lance depuis l'invite de commande alors je ne sais pas...
ça fait maintenant 2 jours que je gratte, essaie diverses manip, etc... en exécutant même un fichier .bat qui lance le script, mais rien n'y fait. Le serveur ne veut pas lancer ce fameux script python !
Désespéré j'en appel donc aux forums, afin de m'indiquer une orientation de recherche pour afin trouver ce qui bloque.
En vous remerciant.
le code nodejs :
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const formidable = require('formidable');
const path = require('path');
const PORT = 8000;
var fs = require('fs');
const {execFile, exec, spawn} = require ('child_process');
var cp = require ('child_process');
app.use(express.static('public'));
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/', function (req, res){
res.sendFile(__dirname + '/public/index.html');
});
function runScript(){
return spawn('python', [
path.join(__dirname + '/public/script.py'),
]);
}
app.post('/start', function(req, res){
const subprocess = runScript()
res.sendFile(__dirname + '/public/index.html');
console.log('script launched')
});
app.listen(8000, function (){
console.log('Server Started on Port : 8000 !')
})
et le code de la page html :
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<meta name="description" content="Interfac" />
<meta name="Copyright" CONTENT="ttom" />
<meta name="expires" CONTENT="never" />
<meta name="audience" CONTENT="all" />
<meta name="Language" CONTENT="Fr" />
<title>Map</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="form.css" />
<link rel="SHORTCUT ICON" href="favicon.ico">
</head>
<body>
<div id="main">
<img src="tom.png" title=" " alt=" " />
<div id="center">
<div id="left">
</div>
<div id="right">
<form action="/start" method="post">
<input title="Clic to Start recording" class="favorite styledstart" type="submit" id="state" value="START">
</form>
</div>
</div>
<div id="bottom">
</div>
</div>
</body>
</html>
Le code server nodejs (version allégée) :
A voir également:
- Probleme d'execution script python depuis serveur nodejs
- Changer serveur dns - Guide
- Script vidéo youtube - Guide
- Citizen code python avis - Accueil - Outils
- Serveur dns gratuit - Guide
- Serveur entrant et sortant - Guide
1 réponse
Du coup après plusieurs tests, il s'avère que le problème venait de mon fichier python...
Le server nodejs n'accepte pas l'execution du script python avec des adresses du type : " ../file/fichier.txt"
il préfère l'adresse complete : "c:/Users/file/fichier.txt"
oui.. ce qui fonctionne sous linux ne l'est pas forcément sous windows..
Si cela peut aider quelqu'un.
Bonne journée.
Le server nodejs n'accepte pas l'execution du script python avec des adresses du type : " ../file/fichier.txt"
il préfère l'adresse complete : "c:/Users/file/fichier.txt"
oui.. ce qui fonctionne sous linux ne l'est pas forcément sous windows..
Si cela peut aider quelqu'un.
Bonne journée.