G r i b o u i l l e Posté(e) le 25 avril 2007 Partager Posté(e) le 25 avril 2007 Salut, Voilà, je suis bloqué depuis deux jours dans un projet. Simplement : Créer un Package .app exécutant un script Python qui lui-même lance un thttpd compilé et contenu dans le package, plus diverses activités qui concernent pas mon problème. Mon problème est simple, mais impossible de trouver la moindre de piste pour le résoudre : Quand j'execute le code indiqué dans le Info.plist du package, le serveur se lance correctement et le script poursuit donc execution, Quand j'execute le package .app directement, le serveur refuse catégoriquement de se lancer, j'ai d'abord mis en cause le serveur puis blanchi après avoir essayé un shttpd. Au niveau du script Python, j'ai tanté de faire l'appel au serveur par : commands.getoutput os.system En threads distinct ou non. Et dans la syntax de l'appel thttpd, 'nohup' ainsi que rediriger les sorties vers dev/null des fois que ça bloquerait là... Dans tous les cas il refuse, alors qu'un appel direct du script principal fonctionne en ne retournant aucune erreur/warning. def LaunchServer(): os.system('../Resources/sbin/thttpd -p 9519 -d ../Resources/www -u nobody') Voici le code actuel qui appel le serveur, si j'execute ../Resources/sbin/thttpd -p 9519 -d ../Resources/www -u nobody ça fonctionne également. Mon idée est que l'utilisation d'un .app implique des restrictions, mais je ne vois exactement lesquels Merci pour votre aide ! EDIT: Extraits de code : Infos.plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleDocumentTypes</key> <array> <dict> <key>CFBundleTypeOSTypes</key> <array> <string>****</string> <string>fold</string> <string>disk</string> </array> <key>CFBundleTypeRole</key> <string>Viewer</string> </dict> </array> <key>CFBundleExecutable</key> <string>Gribouille.py</string> <key>CFBundleIconFile</key> <string>mainlogo.icns</string> <key>CFBundleIdentifier</key> <string>Gribouille</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>Gribouille</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleSignature</key> <string>????</string> </dict> </plist> Code de Gribouille.py #!/usr/bin/env python # Closed source, written by Julien ARNAUD. # Importing class and files import commands import threading import sys import os # Defining function for launching vital processes def LaunchServer(): os.system('../Resources/sbin/thttpd -p 9519 -d ../Resources/www -u nobody') # Defining threads for functions server = threading.Thread(None, LaunchServer, None) # LaunchServer() # Launching threads server.start() # Print back returned code #print server_code # Exites the script # sys.exit(general_code) Lien vers le commentaire Partager sur d’autres sites More sharing options...
iScarabee Posté(e) le 25 avril 2007 Partager Posté(e) le 25 avril 2007 Arf ! Suis pas développeur mais j'espère que tu trouveras réponse à ta question !! Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 26 avril 2007 Auteur Partager Posté(e) le 26 avril 2007 Merci, j'éspère aussi Pour le moment je n'ai toujours pas avancé... Toute aide est la bienvenue Lien vers le commentaire Partager sur d’autres sites More sharing options...
otto Posté(e) le 26 avril 2007 Partager Posté(e) le 26 avril 2007 question stupide, ca fait quoi si tu lances un truc super simple en leiu et place de ton serveur? Même problème? Lien vers le commentaire Partager sur d’autres sites More sharing options...
G r i b o u i l l e Posté(e) le 27 avril 2007 Auteur Partager Posté(e) le 27 avril 2007 Bonne question, un peu plus loins dans le script .py il y'a un "open /Applications/Safari http://..." Et lui fonctionne ! Par contre si je tante de lancer un shttpd, thttpd, ou httpd il refuse... À cause du package, mais pourquoi...? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.