ajouter des fichiers de données aux projets python setup.py
J'ai un projet comme celui-ci:
├── CHANGES.txt
├── LICENSE
├── MANIFEST.in
...
├── docs
│ └── index.rst
├── negar
│ ├── Negar.py
│ ├── Virastar.py
│ ├── Virastar.pyc
│ ├── __init__.py
│ ├── data
│ │ ├── __init__.py
│ │ └── untouchable.dat
│ ├── gui.py
│ ├── gui.pyc
│ ├── i18n
│ │ ├── fa_IR.qm
│ │ └── fa_IR.ts
│ └── negar.pro
├── setup.py
...
et à l'intérieur de mon fichier Virastar.py
besoin de quelques données de data.untouchable.dat
. il fonctionne très bien jusqu'à ce que j'installe le projet avec cette setup.py
:
setup(
...
include_package_data=True,
packages = find_packages() + ['negar'],
package_dir={'negar': 'negar'},
package_data={'negar': ['data/*.dat']},
entry_points={
'console_scripts': [
'negar = negar.Negar:main',
],
},
...
)
après que quand je lance mon programme et que quand elle a besoin de ce fichier de données, il renvoie cette erreur:
IOError: [Errno 2] No such file or directory: 'data/untochable.dat'
même dans mon egg-info
sources je ne trouve pas de fichier de données:
...
negar/Negar.py
negar/Virastar.py
negar/__init__.py
negar/gui.py
negar/data/__init__.py
ai-je raté quelque chose ici?
Merci à vous tous.
EDIT: Dois-je ajouter quelque chose de spécial dans init.py?
et je dois ajouter ceci: j'ai utilisé intouchable.dat comme cela:
f = codecs.open('data/untouchable.dat', encoding="utf-8")
source d'informationauteur Shahinism | 2012-08-30
Vous devez vous connecter pour publier un commentaire.
J'ai utilisé data_files
Le premier problème est que je n'ai pas d'importer mon fichier de données dans le paquet avec
MANIFEST.in
fichier. J'ai importé comme ceci:Après que mon fichier de données déjà importé avec mon paquet à installer. mais parce que j'avais des erreurs dans ouvrir mes fichiers de données, python ne pouvais pas le trouver. cette question m'a aidé à trouver le bon chemin
Python Accéder à des Données dans le Paquet sous-Répertoire et maintenant je utiliser quelque chose comme ceci:
Peut-être essayer: