Re: [Python] Come scrivere uno script da installare in /usr/bin con setup.py?

2011-03-21 Per discussione Alessandro Dentella
On Sun, Mar 20, 2011 at 09:44:14PM +0100, Marco Giusti wrote:
 On Sun, Mar 20, 2011 at 09:15:56PM +0100, Alessandro Dentella wrote:
 [...]
  nel link della documentazione in [2] l'esempio è:
  
setup(
# other arguments here...
entry_points = {
'console_scripts': [
'foo = my_package.some_module:main_func',
'bar = other_module:some_func',
],
'gui_scripts': [
'baz = my_package_gui.start_func',
]
}
)
  
  dove c'è una differenza che non capisco se è voluta o meno. Nelle
  console_scripts usa :main_func, mentre in gui_scripts usa .start_func
  (ovvero con . invece che :). A me funziona solo se metto ':'.
 
 credo che sia un errore. leggi di seguito...

volendo effettivamente cambiare la configurazione di setup.py per usare
entry_points ho questo dubbio:

Nella attuale configurazione ho grossolaneamente:

   sqlkit/
   |-- bin
   |-- demo
   |   |-- layout
   |   `-- sql
   |   |-- images
   |   `-- model
   |-- sqlkit
   |   |-- misc
   |   `-- widgets
   |   |-- common
   |   |-- mask
   |   `-- table
   `-- test
   `-- doctest

la script da mettere in entry_points è in 'bin', e mi piace che stia lì per
visibilità. Così facendo però succede che se metto in setup.py:

  entry_points = {
  'gui_scripts': [
  'sqledit = bin.sqledit:main',
  ]
  }

mi viene installato anche un *package* bin, cosa che chiaramente voglio
evitare. L'unica soluzione che vedo è di nascondere  sqledit all'interno
della struttura esistente 'sqlkit', cosa che non mi pare particolarmente
corretta, è normale avere le scripts o in bin o in scripts. 

Suggeriementi/commenti?


sandro
*:-)

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Come scrivere uno script da installare in /usr/bin con setup.py?

2011-03-21 Per discussione Manlio Perillo
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Il 21/03/2011 12:55, Alessandro Dentella ha scritto:
 [...]
 Nella attuale configurazione ho grossolaneamente:
 
sqlkit/
|-- bin
|-- demo
|   |-- layout
|   `-- sql
|   |-- images
|   `-- model
|-- sqlkit
|   |-- misc
|   `-- widgets
|   |-- common
|   |-- mask
|   `-- table
`-- test
`-- doctest
 
 la script da mettere in entry_points è in 'bin', e mi piace che stia lì per
 visibilità.

Allora ti conviene usare il parametro `scripts`, nel setup.
Utilizzando gli entry point di setuptool, devi avere una funzione, il
cui modulo deve ovviamente essere installato.

Se vuoi usare gli entry point (comodo perchè ti crea un eseguibile .exe
per Windows), ti conviene aggiungere un sottopackage tipo:

sqlkit/sqlkit/ui

in cui inserire i vari moduli; oppure semplicemente aggiungere un modulo
ui all'interno del package sqlkit.



Ciao  Manlio
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk2HSHkACgkQscQJ24LbaUR3gACeIMHwPb8KrwnDrcE7FM+KMWSM
E/cAn3jyTmNaEWnGdNk53dZa2NVXvzZ2
=wQaw
-END PGP SIGNATURE-
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


[Python] ANN: rilasciata psutil (python process utilities) 0.2.1

2011-03-21 Per discussione Giampaolo Rodolà
Salute a tutti,
sono lieto di annunciare il rilascio della versione 0.2.1 di psutil:
http://code.google.com/p/psutil

=== About ===

psutil è un modulo che permette di ottenere informazioni riguardo i
processi in esecuzione e il sistema operativo (CPU, memoria) tramite
Python, implementando diverse funzionalità offerte da tools da linea
di comando quali ps, top, lsof e netstat.
psutil supporta Linux, Windows, OS X e FreeBSD, sia 32-bit che 64-bit,
su Python da 2.4 a 3.2 utilizzando un'unica code-base.

=== Nuove features ===

* process I/O counters
* process wait() (aspetta che un processo termini e ritorna l'exit code)
* process get_threads() informazioni (id, user and kernel times)
riguardo i thread aperti dal processo
* process uids/gids (saved, real e effective)
* process niceness (priorità, get e set)
* stato dei processi (running, stopped etc...)
* process I/O niceness (priorità I/O)
* psutil.Popen, una nuova classe che offre un'interfaccia più
conveniente di subprocess.Popen

=== Esempio delle nuove features ===

 p = psutil.Process(7055)
 p.name
'python'

 str(p.status)
'running'

 p.uids
user(real=1000, effective=1000, saved=1000)
 p.gids
group(real=1000, effective=1000, saved=1000)

 p.nice
0
 p.nice = 10  # cambia priorità
 p.nice
10

 p.get_ionice()
ionice(ioclass=0, value=0)
 p.set_ionice(psutil.IOPRIO_CLASS_IDLE)  # cambia priorità I/O
 p.get_ionice()
ionice(ioclass=3, value=0)

 p.get_io_counters()
io(read_count=478001, write_count=59371, read_bytes=700416, write_bytes=69632)

 p.get_threads()
[thread(id=5234, user_time=22.5, system_time=9.2891),
 thread(id=5235, user_time=0.0, system_time=0.0),
 thread(id=5236, user_time=0.0, system_time=0.0),
 thread(id=5237, user_time=0.0707, system_time=1.2)]

 p.terminate()
 p.wait(timeout=3)
0



= psutil.Popen =

 import psutil
 from subprocess import PIPE
 p = psutil.Popen([/usr/bin/python, -c, print 'hi'], stdout=PIPE)
 p.name
'python'
 p.uids
user(real=1000, effective=1000, saved=1000)
 p.username
'giampaolo'
 p.communicate()
('hi\n', None)
 p.terminate()
 p.wait(timeout=2)
0



=== Links ===

* Home page: http://code.google.com/p/psutil
* Mailing list: http://groups.google.com/group/psutil/topics
* Sorgenti: http://psutil.googlecode.com/files/psutil-0.2.1.tar.gz
* Documentazione: http://code.google.com/p/psutil/wiki/Documentation


--- Giampaolo Rodola'

http://code.google.com/p/pyftpdlib
http://code.google.com/p/psutil/
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] ANN: rilasciata psutil (python process utilities) 0.2.1

2011-03-21 Per discussione Massimo Capanni
Concordo, mi potrebbe tornare molto utile per certi controlli che devo
fare su alcuni processi in esecuzione nei server.
Lo provero' senz'altro :)


Il 21 marzo 2011 14:49, Mefrio mefri...@gmail.com ha scritto:
 Sembra interessante. Grazie per la segnalazione

 Mario

 Inviato da iPhone

 Il giorno 21/mar/2011, alle ore 13:46, Giampaolo Rodolà g.rod...@gmail.com 
 ha scritto:

 Salute a tutti,
 sono lieto di annunciare il rilascio della versione 0.2.1 di psutil:
 http://code.google.com/p/psutil

 === About ===

 psutil è un modulo che permette di ottenere informazioni riguardo i
 processi in esecuzione e il sistema operativo (CPU, memoria) tramite
 Python, implementando diverse funzionalità offerte da tools da linea
 di comando quali ps, top, lsof e netstat.
 psutil supporta Linux, Windows, OS X e FreeBSD, sia 32-bit che 64-bit,
 su Python da 2.4 a 3.2 utilizzando un'unica code-base.

 === Nuove features ===

 * process I/O counters
 * process wait() (aspetta che un processo termini e ritorna l'exit code)
 * process get_threads() informazioni (id, user and kernel times)
 riguardo i thread aperti dal processo
 * process uids/gids (saved, real e effective)
 * process niceness (priorità, get e set)
 * stato dei processi (running, stopped etc...)
 * process I/O niceness (priorità I/O)
 * psutil.Popen, una nuova classe che offre un'interfaccia più
 conveniente di subprocess.Popen

 === Esempio delle nuove features ===

 p = psutil.Process(7055)
 p.name
 'python'

 str(p.status)
 'running'

 p.uids
 user(real=1000, effective=1000, saved=1000)
 p.gids
 group(real=1000, effective=1000, saved=1000)

 p.nice
 0
 p.nice = 10  # cambia priorità
 p.nice
 10

 p.get_ionice()
 ionice(ioclass=0, value=0)
 p.set_ionice(psutil.IOPRIO_CLASS_IDLE)  # cambia priorità I/O
 p.get_ionice()
 ionice(ioclass=3, value=0)

 p.get_io_counters()
 io(read_count=478001, write_count=59371, read_bytes=700416, 
 write_bytes=69632)

 p.get_threads()
 [thread(id=5234, user_time=22.5, system_time=9.2891),
 thread(id=5235, user_time=0.0, system_time=0.0),
 thread(id=5236, user_time=0.0, system_time=0.0),
 thread(id=5237, user_time=0.0707, system_time=1.2)]

 p.terminate()
 p.wait(timeout=3)
 0



 = psutil.Popen =

 import psutil
 from subprocess import PIPE
 p = psutil.Popen([/usr/bin/python, -c, print 'hi'], stdout=PIPE)
 p.name
 'python'
 p.uids
 user(real=1000, effective=1000, saved=1000)
 p.username
 'giampaolo'
 p.communicate()
 ('hi\n', None)
 p.terminate()
 p.wait(timeout=2)
 0



 === Links ===

 * Home page: http://code.google.com/p/psutil
 * Mailing list: http://groups.google.com/group/psutil/topics
 * Sorgenti: http://psutil.googlecode.com/files/psutil-0.2.1.tar.gz
 * Documentazione: http://code.google.com/p/psutil/wiki/Documentation


 --- Giampaolo Rodola'

 http://code.google.com/p/pyftpdlib
 http://code.google.com/p/psutil/
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python
 ___
 Python mailing list
 Python@lists.python.it
 http://lists.python.it/mailman/listinfo/python

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python