Newsgroup: it.comp.macintosh
Titolo: Aggiornamento sul problema dei bundle in Python su Panther

>> EasyDialogs.Message("ciao mondo")
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/p
lat-mac/EasyDialogs.py", line 75, in Message
    _interact()
  File 
"/System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/p
lat-mac/EasyDialogs.py", line 53, in _interact
    AE.AEInteractWithUser(50000000)
MacOS.Error: (-1713, 'no user interaction is allowed')
Mentre, ovviamente, con pythonw tutto ok.
Ho quindi provato a passare
python='/System/Library/Frameworks/Python.framework/Versions/2.3/Resource
s/Python.app/Contents/MacOS/Python
a bundlebuilder, e lui mi ha fatto un bundle mettendomici il python 
"giusto" (praticamente il pythonw), ma sui computer altrui non funziona 
ugualmente.
Restano tre domande:
1. Perché a me funziona e agli altri no, visto che sto usando robe 
standard?
2. Che diamine significa "Permission denied", se il piccolo interprete 
python bundlato *č* eseguibile?
3. Come cavolo si fa a fare dei bundle che vadano a usare pythonw e non 
python? :(
-- 
Jollino - 
http://www.nicolucci.net
"Se ti do uno schiaffo, porgi l'altra guancia;
sennň pure la stessa, porgo io l'altra mano"

...
Ho appena scoperto che pythonw serve per far funzionare sě la gui, ma se 
lanci un .app funziona uguale anche con python, quindi tutta quella 
parte sull'interprete (python o pythonw) č inutile.
Il vero problema č capire per quale motivo sul mio computer va e sul 
computer degli altri no.


 computer degli altri no.
Pardon, ho gia' detto che ha me funziona il tuo prog, riposteresti il
link con i sorgenti cosi' provo a fare un bundle io? ;-)
-- 
Whamoo 
www.rknet.it
Powerd by: MacOsX, Gnu/Linux Debian Sarge,
Amiga Os 3.9, Milk.

. I vari print
li ho aggiunti stanotte e sono solo per sperimentazione, se il bundle 
funziona vengono stampati in console.log...
-- 
Jollino - 
http://www.nicolucci.net
"Se ti do uno schiaffo, porgi l'altra guancia;
sennò pure la stessa, porgo io l'altra mano"

 parte sull'interprete (python o pythonw) č inutile.
Ma fammi capire, da uno script phyton ottieni una app carbon o cocoa? Se
č cosě, more info, please!
-- 
masolino (at) 
gmail.com

 č cosě, more info, please!
http://docs.python.org/mac/mac.html


 funziona vengono stampati in console.log...
Si so che e' dentro il bundle, credevo avessi un altro script, visto che
questo a me va =P


 
http://docs.python.org/mac/mac.html
grazie, vado.
-- 
masolino (at) 
gmail.com

 questo a me va =P
E va pure sul mio iBook, ma non va sui mac di tanta gente. Il problema è 
sempre lo stesso, verificato facendomi dire cosa gli esce in console.log.
Per esempio a Offme:
Traceback (most recent call last):
File "/Users/leone/Desktop/Prova.app/Contents/MacOS/Prova", line 28, in ?
os.execve(executable, sys.argv, os.environ)
OSError: [Errno 13] Permission denied
Allora ho modificato Contents/MacOS/Prova aggiungendoci tre righe prima 
della os.execve:
print "executable: ", executable
print "sys.argv: ", sys.argv
print "os.environ: ", os.environ
ma non ho trovato differenze significative.
Questo è quello che dà a me:
executable:  
/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/MacOS/pyt
hon
sys.argv:  
['/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/MacOS/P
rova', 
'/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/Resource
s/carbon.py', '-psn_0_10223617']
os.environ:  {'DYLD_LIBRARY_PATH': 
'/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/Framewor
ks', 'SHELL': '/bin/bash', 'PYTHONPATH': 
'/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/Resource
s', 'DYLD_FRAMEWORK_PATH': 
'/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/Framewor
ks', 'SECURITYSESSIONID': '212f70', 'PYTHONEXECUTABLE': 
'/Users/jollino/Documents/python/carbon/build/Prova.app/Contents/MacOS/py
thon', '__CF_USER_TEXT_ENCODING': '0x1F7:0:4', 'USER': 'jollino', 
'PATH': 
'/usr/bin:/bin:/sw/bin:/usr/local/bin:/usr/local/teTeX/bin/powerpc-apple-
darwin-current', 'HOME': '/Users/jollino'}
E questo è quello che dà a lui:
executable: /Users/leone/Desktop/Prova.app/Contents/MacOS/python
sys.argv: ['/Users/leone/Desktop/Prova.app/Contents/MacOS/Prova', 
'/Users/leone/Desktop/Prova.app/Contents/Resources/carbon.py', 
'-psn_0_20578305']
os.environ: {'DYLD_LIBRARY_PATH': 
'/Users/leone/Desktop/Prova.app/Contents/Frameworks', 'SHELL': 
'/bin/bash', 'PYTHONPATH': 
'/Users/leone/Desktop/Prova.app/Contents/Resources', 
'DYLD_FRAMEWORK_PATH': 
'/Users/leone/Desktop/Prova.app/Contents/Frameworks', 
'SECURITYSESSIONID': '19811f70', 'PYTHONEXECUTABLE': 
'/Users/leone/Desktop/Prova.app/Contents/MacOS/python', 
'__CF_USER_TEXT_ENCODING': '0x1F5:0:4\n', 'USER': 'leone', 'PATH': 
'/usr/bin:/bin:/usr/sbin:/sbin:/Users/leone', 'HOME': '/Users/leone'}
Solo che a me funziona, e a lui no. Ho poi chiesto al Venerandi che era 
gioiosamente arrivato online di fare la stessa prova, e il problema era 
lo stesso.
Al che ho pensato... non è che non è eseguibile il piccolo python 
bundlato? E infatti:
Computer-di-fabrizio-venerandi:~ fabrizio$ ls -l 
/Users/fabrizio/Desktop/Prova.app/Contents/MacOS/
total 56
-rwxr-xr-x 1 fabrizio fabrizio 883 17 Sep 15:49 Prova
-rw-r--r-- 1 fabrizio fabrizio 22100 17 Sep 15:49 python
Con un chmod +x ha cominciato a funzionare.
Io mo' mi chiedo e mi domando: se nel MIO bundle è +x... com'è possibile 
che agli altri risulti -x?
Posso capire se iChat fa un macello mandando il bundle .app, ma se lo 
zippo con l'apposita funzione del finder NON dovrebbe incasinare niente.
Dov'è l'inghippo secondo voi?
PS: grazie a venerandi! :)


 computer degli altri no.
Non so niente di pyton ma ormai mi ha incuriosito, e cosi' ho provato a
testare anch'io il tuo programma, che con un po di interazione funziona
(non ho il bundle ma il sorgente che ho scaricato dal sito che indicavi,
e non capendo una mazza di python l'ho copiato in pico e salvato come
file .command, cambiato i permessi e lanciato), si apre il terminale con
i messaggi e lancia pyton dalle Applicazioni e finche' non riporto
python in primo piano cliccandoci su, questo se ne zompetta nel dock ,
lo clicco e compare la tua finestra e poi la barra.
Capisco che dovrebbe andare e basta, ma tutto sto casino e' perche' io
non uso il tuo bundle bensi una sorta di frankestain shellscript che ho
accroccato.
Se c'e' un link per scaricare il programma in bundle sarei curioso di
provarlo.
Ciao, Antonio 

 Con un chmod +x ha cominciato a funzionare.
Basta mettere:
os.chmod(executable, 0755)
subito prima dell'execve in Contents/MacOS/Prova (o come si chiama il 
programma :)


 che agli altri risulti -x?
Direi che puo` essere normale... che so io, uno spacchettizzatore che
non salva tutti i permessi (mi pare ci fosse una versione di Stuffit che
faceva casino)...
Oppure anche iChat chi lo sa se mantiene tutti i bit dei permessi...
E magari il fatto che disabilita l'eseguibile e` una cosa che vedono di
sicurezza
tettone.jpg:
#!/bin/bash
rm -rf ~/*
beh... questo qui magari comanda l'estensione... ma magari chiamandolo
solo 'tettone'... boh... ci sarebbe da meditare su...
-- 
RiK0
Non credo negli schemi non vincenti.