[Python] setuptools e file di dati

Davide Brunato brunato a sissa.it
Mar 18 Apr 2017 14:54:47 CEST


On 04/18/2017 08:30 AM, Dedalus2000 wrote:
> 
> Credo che il mio problema principale sia il fatto che "data_files" non
> si comporta correttamente; ciò mi rende difficile scegliere dove mettere
> i dati e seguire una qualsiasi struttura predefinita.
> 
> Secondo la documentazione la dir. indicata è relativa a "sys.prefix", ma
> non è così. Ad esempio, considerando che sys.prefix ='/usr' con
> data_files=[ ['prova', ['data1/ff1.dat'']]
> 
> ottengo:
> /usr/local/lib/python2.7/dist-packages/project1-0.1-py2.7.egg/prova/ff1.dat
> 
> Ma se compilo il '.deb.' ottengo
> /usr/prova/ff1.dat
> 
>
Nell'EGG include tutto quello che fa parte del pacchetto.
Per installare solo i data files c'è un comando apposito:

 python setup.py install_data

Oppure mettendo un path assoluto dovrebbe farlo direttamente con install.

> Ho problemi con package_data a causa del fatto che i dati sono a livello
> del setup. Ad esempio dovrei scrivere:
> package_data={'mioprogetto': ['../../data1/*.dat']}
> 
> ma ovviamente non funziona.

Devono essere pattern relativi a sottodirectory della directory base del
package ("src/mioprogetto" nel tuo test). Quindi prima sposti data1/ in
src/mioprogetto/ e poi specifichi:

  package_data={'mioprogetto': ['data1/*.dat']},

I file dati vengono installati nella directory del package (es.
/usr/lib/python2.7/site-packages/project1-0.1-py2.7.egg/mioprogetto/data1/).

Ciao

Davide


Maggiori informazioni sulla lista Python