2013-01-20 18 views
16

Sto cercando di creare un pacchetto di Python, e ho una struttura di directory simile a questo:MANIFEST.in, package_data e data_files chiarimenti?

mypkg/ 
├── __init__.py 
├── module1 
│   ├── x.py 
│   ├── y.py 
│   └── z.txt 
└── module2 
    ├── a.py 
    └── b.py 

Poi ho aggiunto tutti i file in MANIFEST.in e quando controllo l'archivio creato, aveva tutti i file.

Quando faccio python setup.py install nello dist-packages/mypkg/module1. Vedo solo i file Python e non z.txt.

devo z.txt sia MANIFEST.in e setup.py:

setup (
    packages = [ 
     'mypkg', 
     'mypkg.module1', 
     'mypkg.module2', 
    ], 
    package_data = { 
     'mypkg': ['module1/z.txt'] 
    }, 
    include_package_data = True, 
    ... 
) 

Ho provato ad aggiungere il file come data_files pure ma che ha creato una directory in /usr/local. Voglio tenerlo all'interno della directory del codice sorgente mentre il codice usa quei dati.

Ho letto i post elencati di seguito ma continuo a confondermi su quale sia il modo giusto per mantenere z.txt nella posizione corretta dopo .

+0

Aggiornamento: È stato risolto quando ho iniziato a utilizzare setuptools anziché distutils.core. Penso che sia stato qualche problema con le distutils che non erano d'accordo con manifest mentre setuptools funzionava senza alcuna modifica nel codice. Si consiglia di utilizzare setuptools in futuro. Usando il link [qui] [1]. [1]: http://peak.telecommunity.com/DevCenter/setuptools#developer-s-guide – Sourabh

risposta

2

Aggiornamento: È stato risolto quando ho iniziato a utilizzare setuptools anziché distutils.core. Penso che sia stato qualche problema con le distutils che non erano d'accordo con manifest mentre setuptools funzionava senza alcuna modifica nel codice. Raccomando di utilizzare setuptools in futuro. Utilizzo del collegamento here : setup tools- developers guide

11

Provare a utilizzare setuptools invece di distutils.

+0

Sì, setuptools l'ha risolto. Ho commentato la domanda perché non potevo rispondere da sola. – Sourabh

Problemi correlati