Closed casertap closed 8 years ago
Sorry, it is because the versions between patacrep and patadata are not perfectly synchronous.
Please try to use the branch yaml
of patadata: https://github.com/patacrep/patadata/tree/yaml
Awesome, it works. Very nice job on refactoring the patacrep! I have been using it 6 years ago and decided to get back to my instrument again. In my old version, I had modify the patacrep source code to enable ukulele (4 strings). I think now patacrep already have this ukulele feature, which is great. I will try to recreate my old songbook soon. Thanks.
Jusqu'ici j'arrivais à compiler sur la branche principale avec une ancienne version de patacrep (je crois que j'avais installé depuis le tag v4.0.0 de Git), mais en réessayant la commande songbook ne fonctionne plus du tout :
% songbook --version
Traceback (most recent call last):
File "/usr/local/bin/songbook", line 9, in <module>
load_entry_point('patacrep==4.0.0', 'console_scripts', 'songbook')()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point
return ep.load()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2229, in load
return self.resolve()
File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2235, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/usr/local/lib/python3.5/dist-packages/patacrep-4.0.0-py3.5.egg/patacrep/songbook/__init__.py", line 9, in <module>
from patacrep.build import config_model
ImportError: cannot import name 'config_model'
Utiliser la branche yaml n'est pas une solution pour moi, car elle n'est pas à jour. Quelqu'un aurait-il une solution ? Quoi qu'il en soit, je pense que ce bug devrait être rouvert jusqu'à ce que la version de patacrep installable par pip fonctionne directement avec la branche master de patadata.
@cypriani : comment as-tu installé la version master ?
Le plus simple et le plus sûr est d'utiliser pip
:
pip3 install https://github.com/patacrep/patacrep/archive/master.zip
Mon précédent message d'erreur est avec une installation depuis git (sur le tag v4.0.0). Avec pip, j'ai un virtualenv avec la version publique (pip3 install patacrep
), et je viens d'essayer d'en faire un autre avec la version master (ta commande). Les deux exécutables marchent avec songbook --version
. Voilà ce qui se passe quand j'essaye de compiler (toujours sur la branche master de patadata) avec la version publique :
(virtualenv) % songbook books/naheulbeuk.sb
INFO:patacrep.build:Building 'naheulbeuk.tex'…
INFO:patacrep.build:Building 'naheulbeuk.pdf'…
ERROR:root:Error while pdfLaTeX compilation of "naheulbeuk.tex" (see naheulbeuk.log for more information).
ERROR:root:Running again with option '-v' may give more information.
zsh: exit 1 songbook books/naheulbeuk.sb
Apparemment, il n'aime pas les cover
dans les \beginsong
. J'ai essayer de remplacer par cov
ça compile correctement. Faut-il faire un s/cover/cov/ sur toutes les chansons ? Si oui je peux préparer un commit pour ça.
Avec la version master :
(virtualenv-master) % songbook books/naheulbeuk.sb
Traceback (most recent call last):
File "/blabla/virtualenv-master/bin/songbook", line 9, in <module>
load_entry_point('patacrep==4.0.0', 'console_scripts', 'songbook')()
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/songbook/__main__.py", line 148, in main
songbook = open_songbook(songbook_path)
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/songbook/__init__.py", line 44, in open_songbook
return prepare_songbook(user_songbook, outputdir, outputname, songbookfile_dir)
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/songbook/__init__.py", line 64, in prepare_songbook
songbook = _add_songbook_defaults(songbook)
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/songbook/__init__.py", line 89, in _add_songbook_defaults
locale_default = config_model('default')
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/build.py", line 384, in config_model
with encoding.open_read(model_path) as model_file:
File "/usr/lib/python3.5/contextlib.py", line 59, in __enter__
return next(self.gen)
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/encoding.py", line 18, in open_read
encoding = detect_encoding(filename)
File "/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/encoding.py", line 35, in detect_encoding
filehandler = codecs.open(filename, 'r', encoding=encoding)
File "/blabla/virtualenv-master/lib/python3.5/codecs.py", line 895, in open
file = builtins.open(filename, mode, buffering)
FileNotFoundError: [Errno 2] Aucun fichier ou dossier de ce type: '/blabla/virtualenv-master/lib/python3.5/site-packages/patacrep/data/templates/songbook_model.yml'
zsh: exit 1 songbook books/naheulbeuk.sb
Même erreur sur la branche yaml avec songbook books/naheulbeuk.yaml
.
Je viens d'essayer s/cover=/cov=/
, mais ça ne suffit pas (toujours sur la version publique et la branche master). Maintenant j'ai ça dans le log :
! LaTeX Error: File 'nb_elf_02' not found.
Pourtant :
% git grep -n nb_elf_02
songs/le_donjon_de_naheulbeuk/les_elfes_de_greenelven.sg:66: \image[width=4cm]{nb_elf_02}
% find -iname 'nb_elf_02*'
./songs/le_donjon_de_naheulbeuk/nb_elf_02.jpg
Désolé, je n'ai pas le temps de regarder plus en détail d'où ça peut venir.
Comme indiqué par mon premier message de cette "issue", seule la branche yaml
de patadata fonctionne avec la branche master
de patacrep.
La branche master
de patadata est un peu inconstante (utilise cover
mais pas encore le nouveau format de carnet de chants), mais peut-être qu'elle compile avec le commit de patacrep suivant: https://github.com/patacrep/patacrep/tree/f15cbbf333378c47412d2fa19646563c6cc9e606
En fait, je pense que la meilleure solution est d'utiliser la branche master
de patadata, avec la branche master
de patacrep.
Seuls les carnets de chants de patadata sont alors incorrects et il suffit de les remplacer par ceux qui sont proposés ici: https://github.com/patacrep/patadata/tree/yaml/books (#34)
@oliverpool : Qu'est-ce qui nous empêche de sortir une version 5, qui résoudrait tous ces problèmes ?
@paternal rien, à vrai dire
@cypriani & @casertap I just updated patacrep and patadata to be coherent again.
Everything should now be fine if you use their latest versions (patacrep was also uploaded on pip: pip3 install patacrep -U
to upgrade).
Please, feel free to open a new issue if anything does work as expected !
On the readme of patacrep I saw that the command to compile a songbook is
songbook <songbook_file.yaml>
But patadata does not contains any
.yml
fileI tried:
songbook books/songbook_fr.sb
but I get: