[Python] creazione package

Riccardo Lemmi riccardo a reflab.it
Ven 15 Maggio 2009 19:09:14 CEST


Stefano Costa wrote:

> Il giorno ven, 15/05/2009 alle 18.10 +0200, Riccardo Lemmi ha scritto:
>> 
>> Dai uno sguardo a:
>>   http://pypi.python.org/pypi/zc.buildout/
>> anche se di solito si usa con zope e simili dovresti essere in grado
>> di creare un ambiente per la tua applicazione.
> 
> Per creare lo scheletro ho usato paster, che mi pare sia sostanzialmente
> simile a zc.buildout (analogamente, di solito è usato per applicazioni
> web ma funziona per tutto).

Il paster (tra le varie cose che fa) crea scheletri di applicazioni, io
uso 'ZopeSkel'. Ad esempio plone3_buildout crea un cartella con dentro la
configurazione base e lo script bootstrap.py che genera il comando 'buildout'.

> Mi sembrava di aver capito che devo usare la voce console_scripts in
> entry_points per l'eseguibile, ma non ho capito come indicare il modulo
> da eseguire.
> 
> Sono invece riuscito ad installare il modulo eseguibile aggiungendo
> 
>         scripts = ['gnucalcli.py']
> 
> sempre nel setup(). Non so quanto sia standard come soluzione, anche se
> ha funzionato.
> 
> A questo punto sto cercando di capire come installare la documentazione
> e altri file che sono necessari per il funzionamento del programma - e
> come recuperarli una volta che sono installati al posto giusto. Mi pare
> di aver capito che si usa pkg_resources per questo, è corretto?

Non so, per dichiarare le dipendeze uso 'install_requires' e gli scheletri di
egg che uso hanno una cartella docs usata in setup.py con questa riga:

 long_description=open("README.txt").read() + "\n" +
                       open(os.path.join("docs", "HISTORY.txt")).read()

> Se invece pensi che zc.buildout sia meglio, provo quello. Grazie,
> steko
> 

Non so se sia meglio, io li uso per creare installazioni complete ma non di
sistema.
-- 
Riccardo Lemmi



Maggiori informazioni sulla lista Python