Re: [Python] Re: IDE per Python
On 31/mar/07, at 16:01, Emanuele Santoro wrote: Il giorno gio, 29/03/2007 alle 20.39 +0200, Enrico Franchi ha scritto: 1) vim 2) emacs 3) kate/kwrite 4) gedit 5) scite Imho, è proprio questo il bello di GNU/Linux. Uh? Non ci vedo nulla di bello ne di brutto. In fondo, programmi come vi (quindi anche vim, elvis ei vari cloni, ma non [x|]emacs) aiutano a tenere in vita tradizioni che risalgono ai tempi di UNIX (quello vero). 'UNIX (quello vero)' sarebbe a dire? Ci sono un numero sostanzialmente improponibile di sistemi che si sono sentiti 'UNIX quello vero'. Immagino che tu intenda le prime versioni dello stesso. Ma ti confesso che in campo tecnologico non vedo tutto questo bisogno di tener in vita le tradizioni: le buone pratiche restano in vita da sole. E purtroppo anche le cattive pratiche, eh. Vi è lo standard _de_facto_ su ogni sistema operativo in stile UNIX. E questo non è certamente un motivo per usarlo, più di quanto non consideriamo allo stesso modo di consigliare l'uso di .doc in quanto standard de facto. Il bello di vi[m|] è che è pienamente in linea con lo "stile UNIX": tanti piccoli programmi che hanno un loro ben preciso compito, e fanno solo quello e niente di più. Attenzione: il fatto che sia modale non ha nulla a che vedere con questo. Nano andrebbe ugualmente bene dal punto di vista dello 'stile UNIX'. Vi era (o è ?) l'editor di UNIX, e faceva _solo_ quello. Cosa vuole dire 'essere l'editor di UNIX'? Direi comunque *era* visto che UNIX non è più sviluppato da anni. Poi se i tuoi predecessori avessero seguito il tuo modo di vedere, vi non si sarebbe diffuso, e saremmo rimasti con ed. E' ovvio che poi in VIM (Vi IMproved) sono stati aggiunti dei miglioramenti per facilitare tutti i possibili utilizzi di questo fantastico editor, che ad ogni modo contiunua nel tempo ad avere una sola funzione: editare testo. Tuttavia continua ad avere la leggerezza l'intuitività delle origini. No, dimmi tutto, parlami di potenza, di pochi tasti battuti, quello che vuoi. Ma *non* di intuitività. Ad uno un editor modale può essere comodo, e non ho nulla da dire [ io uso senza difficoltà sia Emacs che vim ]. Ma *intuitivo* no. Io quando uso Eclipse mi sono accorto che a volte mi ritrovo a non capire perchè l'editor non si chiude, e dopo un po' che premo tasti mi accorgo che invece di prendere il mouse ed andare a cliccare la crocetta in alto a destra sto scrivendo all'infinito: ":wq" (senza virgolette ovviamente). Dovresti provare a vedere, ma credo ci siano dei plugin per fare comportare Eclipse come vim. Vi è come UNIX/Linux: è potente, semplice, lineare e ci puoi fare di tutto, ma bisogna saperlo usare. Attenzione: 1) attenzione a questo UNIX/Linux: è un concetto che fatico a comprenere 2) il fatto che 'bisogna saperlo usare' è evidentemente una nota a sfavore, anche se tu la metti come lato positivo. Non è che i vecchi sistemi unix sono stati fatti 'difficili' da usare apposta: hanno cercato di farli più amichevoli possibili, tenendo conto dell'hardware e tutto. *Oggi* non esiste scusa per il 'dovere saperlo usare'. E' chiaramente un difetto rispetto al: lo può usare anche un bambino. Emacs è un ambiente operativo estremamente potente, con all'interno un ancora più potente interprete lisp (il famoso interprete elisp). Io ho provato diverse volte ad imparare emacs, ma non ci sono mai riuscito. Uh? Mi tornerebbe di più se dici che non ti sei trovato bene. Cosa del tutto possibile, peraltro. Penso che sia perchè se si vuole usare emacs in modalità testo bisogna avere otto dita per mano ed aver fatto prima dell'uso un allenamento per sette anni in tibet con le varie combinazioni di tasti (i vari CTRL+X +VATTELAPPESCA, META+V+NONMIRICORDO). Macchè, dai. Poi ad ognuno il suo, ma non è particolarmente problematico. Certo: è una filosofia vecchia. E ha un sacco di svantaggi, tipo che quando passo da Emacs a firefox provo a fare le ricerche con ctrl-s. Ma questo mi pare di avere capito sia un problema anche di vim. Ovvero che sono due programmi antidiluviani con le loro convenzioni, mentre il resto del mondo si è sviluppato in un'altra direzione. Il bello delle tradizioni, eh. E non sempre, quando si lavora su un host remoto (a me piacciono gli shell-account) si ha a disposizione X per far partire emacs-gtk2. Ma infatti non capisco sta cosa: usare Emacs in GUI o in console è la stessa cosa. In quei casi, se si decide di fare un lavoro completamente in emacs, o si hanno le mani alla Pagannini (il violinista) o si va in contro ad una tendinite. Macchè. In parole spicciole: emacs è potentissimo, ma è pesante e non è per niente in linea con la filosofia UNIX: fa qualsiasi cosa in qualsiasi modo. Fa qualsiasi cosa, ma non in qualsiasi modo. Normalmente anche li c'è un modo abbastanza ovvio per fare le cose. Dopo di che Emacs non sia 'in linea con la filosofia Unix' è fatto noto. Ma non è che per questo debba esse
Re: [Python] Re: IDE per Python
Il 31/03/07, Emanuele Santoro<[EMAIL PROTECTED]> ha scritto: Vi è lo standard _de_facto_ su ogni sistema operativo in stile UNIX. intendi dire che è installato su più o meno ogni sistema operativo unix-like? Sì, boh, può anche essere vero, ma mi pare che anche Emacs non scherzi come installato. testo. Tuttavia continua ad avere la leggerezza l'intuitività delle origini. *Cough cough* vada per la leggerezza, per l'intuitività... che intuito hai? Provare ad usare vim, magari in modalità terminale, senza essersi letti l'help, significa più o meno provare a premere ogni tasto finché non si capisce che cosa l'editor stia facendo. 'Intuire' ogni comando del Command Mode, poi... mamma mia. Editare un .vimrc ogni volta... ahinoi. Io quando uso Eclipse mi sono accorto che a volte mi ritrovo a non capire perchè l'editor non si chiude, e dopo un po' che premo tasti mi accorgo che invece di prendere il mouse ed andare a cliccare la crocetta in alto a destra sto scrivendo all'infinito: ":wq" (senza virgolette ovviamente). Questa si chiama 'abitudine'. Io quando uso VIm non capisco perché devo dargli, in command-mode, 'y' per copiare e 'p' per incollare (non ditemi che stanno per 'yank' e 'paste', lo so) al posto dei 'c' e 'v' che sono ormai più o meno lo standard globale per quei comandi. Vi è come UNIX/Linux: è potente, semplice, lineare e ci puoi fare di tutto, ma bisogna saperlo usare. Potente, ok. lineare... ti do il beneficio del dubbio. Semplice... insisto a dire che tu ci sei probabilmente abituato, ma la semplicità di un Vim (come anche di un emacs) è tutta da dimostrare. sette anni in tibet con le varie combinazioni di tasti (i vari CTRL+X +VATTELAPPESCA, META+V+NONMIRICORDO). Mmh... beh... ma... di solito i tasti da premere insieme sono al massimo tre. Anche in Eclipse svariate combo sono complesse, ma poi basta impostarsi a piacimento con combinazioni facili quelle che vengono impiegate maggiormente. si hanno le mani alla Pagannini (il violinista) o si va in contro ad una tendinite. [modalità spot] Contro le tendiniti, io consiglio un prodotto della MS: la Natural Ergonomic Keyboard 4000. Attenzione, non andate su altre versioni; questa purtroppo è wired, ma è veramente ottima per quanto riguarda la posizione dei polsi ed è dotata di un comodo appoggiapalmi in gomma. Ho avuto altre tastiere 'natural' in vita mia ma nessuna è risultata al suo livello. Credo sia il miglior prodotto MS uscito negli ultimi 10 anni, fra hardware e software. la trovate a 40-50 euro ed è un gran investimento. Sotto Linux non sono ancora riuscito a far funzionare correttamente i tasti aggiuntivi (la patch apposita è ancora grezza), ma tutte le funzioni base sono OK. Per quanto riguarda il mouse, non posso non consigliare un altro gioiello: Evoluent VerticalMouse 2. E' un mouse molto particolare (esiste anche l'edizione mancina) con il quale la mano rimane durante l'uso 'perpendicolare' al piano di lavoro, evitando oltre alle tendiniti anche la fastidiosa sindrome del tunnel metacarpale. Se provate formicolii notturni al polso della mano con cui usate il mouse, è un toccasana. Ordinandolo negli States dovreste riuscire ad averlo a 60-70 euro compresa spedizione, in Italia è disponibile d'importazione ma a prezzi bulgari, dai 130 euro in su, mi sembra. [/modalità spot] In parole spicciole: emacs è potentissimo, ma è pesante e non è per niente in linea con la filosofia UNIX: fa qualsiasi cosa in qualsiasi modo. E' è poco intuitivo. Pesante... bah, forse una volta. Potresti dirmi che Eclipse (che nella versione 3.2 si è comunque dotato di una grande iniezione di velocità), o qualche altra IDE, è pesante. Emacs mi sembra davvero un fuscello, a meno che tu non stia utilizzando qualche sistema davvero molto datato. Che Emacs sia poco intuitivo... meno di Vim? Ma ne sei sicuro? Il problema di Emacs, come ho già detto, non è veramente emacs: è l'interfaccia, che è una cosa ben diversa, e la sua 'grezzuria'. Emacs viene difficilmente usato da un novizio, ed è programmato da gente esperta che conosce tutto di lui, non è interessata a migliorarne l'usabilità. Cosa che pure sarebbe non credo troppo difficile. Comunque con emacs-gtk si può iniziare a scrivere un testo e salvarlo senza dover saper scrivere 'wq' e premere 'i' ecc. ecc. Ebbene, io credo che le tradizioni siano importanti. UNIX (quindi anche Linux) era bello perché richiedeva un certo budget di conoscenze per essere sfruttato al meglio: come dice il vecchio proverbio: Calma... no, non sono d'accordo. Una cosa non necessariamente è bella perché è difficile. Di certo è giusto che una cosa abbia un livello di difficoltà appropriato a quanto richiesto per il suo utilizzo. Windows, ad esempio, ha creato l'illusione di poter portare il computer a casa di tutti, anche dei profani, ma ciò si è rivelato anche un problema: l'enorme diffusione di worm, phishing, virus di ogni genere, reti di bot e pc zombie, malware, ecc. è dovuto anche al fatto che molti '
[Python] WingIDE, package e debugger
Scusate, temo sia una cavolata ma non riesco ad uscirne *_*; Sto provando WingIDE con un progetto minuscolo, con questa struttura di directory: src (dir) Main.py test (dir) __init__.py Test.py Dentro Main.py ho un semplicissimo from test.Test import Testing Se lancio Main tramite "Execute current file" funziona tutto, nel senso che mi compare una shell con l'output dovuto all'import di test/__init__.py e di Testing dentro Test.py. Se invece lo lancio tramite "Debug selected" mi esce l'eccezione "ImportError: No module named test.Test" So che potrei "manomettere" sys.path da codice per accomodare la cosa, ma vorrei capire il motivo della disparita' di trattamento tra debug ed esecuzione normale.. :/ Anche perche' presumo che risolvendo questo punto riuscirei ad usare anche il "go to definition" quando riguarda Test.py (al momento infatti mi esce "could not find definition of 'Test'") Molte grazie, saluti! ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] WingIDE, package e debugger
Joril ha scritto: Scusate, temo sia una cavolata ma non riesco ad uscirne *_*; Sto provando WingIDE con un progetto minuscolo, con questa struttura di directory: src (dir) Main.py test (dir) __init__.py Test.py Dentro Main.py ho un semplicissimo from test.Test import Testing Se lancio Main tramite "Execute current file" funziona tutto, nel senso che mi compare una shell con l'output dovuto all'import di test/__init__.py e di Testing dentro Test.py. Se invece lo lancio tramite "Debug selected" mi esce l'eccezione "ImportError: No module named test.Test" So che potrei "manomettere" sys.path da codice per accomodare la cosa, ma vorrei capire il motivo della disparita' di trattamento tra debug ed esecuzione normale.. :/ Anche perche' presumo che risolvendo questo punto riuscirei ad usare anche il "go to definition" quando riguarda Test.py (al momento infatti mi esce "could not find definition of 'Test'") Probabilmente è una faccenda di directory corrente: la cwd viene inclusa nel sys.path quando esegui uno script. Forse nel primo caso WingIDE effettua un chdir nella directory contenente il file corrente e non lo fa nel secondo caso. Tanto per provare, aggiungi un "print '\n'.join(sys.path)" nel Main.py. Di solito la cwd è il primo elemento della lista. Puoi anche evitare di manomettere il sys.path e aggiungere invece il percorso contenente il package nella variabile d'ambiente PYTHONPATH: ti garantirà il corretto funzionamento del package in tutte le condizioni. Anche sott'acqua. A lume di naso, la IDE ti dovrebbe permettere di impostarlo da qualche parte. Ciao! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: IDE per Python
Comunque con emacs-gtk si può iniziare a scrivere un testo e salvarlo senza dover saper scrivere 'wq' e premere 'i' ecc. ecc. Solo per correttezza e completezza, anche con gvim puoi fare quasi tutto senza conoscere i comandi, ma dal menu ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Re: IDE per Python
Ludovico Magnocavallo wrote: io per queste cose uso la console, tipo >>> import csv [CUT] Anche se il csv è un po' un caso a se, e per quasi tutto il resto le regex multilinea di solito fanno il loro dovere. Evidentemente non sono stato un buon comunicatore: ho fatto in modo che l'esempio (perlartro banale) diventasse il problema da risolvere. Volevo semplicemente dire che se devo eseguire quel task mentre sto editando un file CSV, eseguo la trasformazione all'istante all'interno dell' editor stesso. Tutto e solo questo. Saluti :-) -- solimo ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python