Subject: [LilyPond] [Général] La méthode to_pdf ne crée pas de PDF

From: Fred_Redstone via LilyPond <[email-masked]>
Date: Wed, 21 Feb 2024 18:51:13 +0000

Bonjour,

Mon problème est simple : lorsque j'essaie de créer un PDF à partir d'un Bar que j'ai créé (en Python), le programme s'exécute, mais aucun PDF n'est créé dans le projet.
Est-ce que le PDF se crée à un autre endroit? Sinon est-ce que ça a rapport avec LilyPond lui-même?
J'ai joint une image de mon projet.
![Capture d’écran 2024-02-21 111731|690x212](upload://akV4iLjBT16vGfBHyjB0wNJQ6zl.png)

Merci de votre aide!

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/1).

Pour créer un nouveau sujet, écrivez à [[email-masked]](mailto:[email-masked]) ou visitez la [page d'accueil de lilypond.community](https://lilypond.community).

---

From: Ben via LilyPond <[email-masked]>
Date: Wed, 21 Feb 2024 19:04:30 +0000

Bonjour Fred, 

Si vous regardez la doc de mingus.extra.lilypond, ils spécifient: 

LilyPond in the $PATH is needed.

Ce qui est confirmé avec les sources de lilypond.to_pdf:

def save_string_and_execute_LilyPond(ly_string, filename, command):
    """A helper function for to_png and to_pdf. Should not be used directly."""
    ly_string = '\\version "2.10.33"\n' + ly_string
    if filename[-4] in ['.pdf' or '.png']:
        filename = filename[:-4]
    try:
        f = open(filename + '.ly', 'w')
        f.write(ly_string)
        f.close()
    except:
        return False
    command = 'lilypond %s -o "%s" "%s.ly"' % (command, filename, filename)
    print 'Executing: %s' % command
    p = subprocess.Popen(command, shell=True).wait()
    os.remove(filename + '.ly')
    return True

Cette fonction fait simplement un appel système à lilypond, il faut donc que lilypond soit installé correctement et que le $path de là où vous lancez main.py puisse le trouver directement. 

Au plaisir, 

Ben

> Le 21 févr. 2024 à 19:50, Fred_Redstone via LilyPond <[email-masked]> a écrit :
> 
> 	 <https://lilypond.community/u/fred_redstone>Fred_Redstone
> Février 21
> Bonjour,
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/1>.
> 
> Pour créer un nouveau sujet, écrivez à [email-masked] <mailto:[email-masked]> ou visitez la page d'accueil de lilypond.community <https://lilypond.community/>.
> 
> 
> 
> Pour vous désabonner de ces e-mails, cliquez ici <https://lilypond.community/email/unsubscribe/c3874b77b4e097e8ec9a7f843db5ddf9f502deaa7de8501c67141431b3da0e8f>.
>

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/2).

---

From: Fred_Redstone via LilyPond <[email-masked]>
Date: Tue, 27 Feb 2024 19:30:03 +0000

J'ai ajouté, justement, LilyPond dans mon Path, mais je ne sais pas où le programme est sensé créer le PDF. Est-ce dans le dossier d'où j'exécute le code?

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/3).

---

From: Ben via LilyPond <[email-masked]>
Date: Tue, 27 Feb 2024 20:18:14 +0000

Si j'en crois votre photo d'écran, auriez-vous simplement pris lilypond.exe et l'auriez-vous placé dans le même dossier que votre fichier main.py? Car ce n'est pas cela ajouter dans le $path, là vous rendez même lilypond inopérant. 

La librairie mingus.extra.lilypond n'est plus mise à jour depuis plusieurs années, et elle n'est rien d'autre qu'un petit raccourci fait pour gagner un peu de temps, mais qui n'est pas du tout indispensable. A votre place, je commencerai déjà par réinstaller correctement lilypond, je créerai le pdf depuis un éditeur lilypond, il apparaîtra par défaut au même niveau que le fichier source <http://source.ly/> en .ly, et je mettrai ensuite le pdf dans le projet python, si vous faites peu de changements dessus, c'est beaucoup plus simple que de passer par mingus.

> Le 27 févr. 2024 à 20:29, Fred_Redstone via LilyPond <[email-masked]> a écrit :
> 
> Février 27
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/3>.
> 
> Réponses précédentes
> 	Ben <https://lilypond.community/u/ben> Ben
> Février 21
> Bonjour Fred,
> 
> ly_string = '\version "2.10.33"\n' + ly_string
> command = 'lilypond %s -o "%s" "%s.ly <http://s.ly/>"' % (command, filename, filename)
>  <https://lilypond.community/uploads/default/original/2X/4/487324767d0dc9bc9213a51c9f3a94bcd473ccb7.png>
> 
> Merci de votre aide!
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/3>.
> 
> Pour vous désabonner de ces e-mails, cliquez ici <https://lilypond.community/email/unsubscribe/27534a8a5441d1b5df75ea2ea4e28d3101a2238fdb0f373fef2c16c696c6d983>.
>

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/4).

---

From: Fred_Redstone via LilyPond <[email-masked]>
Date: Wed, 28 Feb 2024 13:11:47 +0000

En supprimant lilypond.exe de l'emplacement, ça fonctionne! J'avais déjà ajouté LilyPond à mon $Path, donc ça doit être pour ça que ça ne fonctionnait pas.

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/5).

---

From: Ben via LilyPond <[email-masked]>
Date: Wed, 28 Feb 2024 13:20:39 +0000

Alors oui, effectivement: 

Il a d'abord pris ce lilypond.exe, mais sans trouver ses librairies. Dès lors que vous l'avez supprimé, il est allé chercher celui de votre $path où là, il a pu trouver ses librairies et réussir la compilation. 

> Le 28 févr. 2024 à 14:11, Fred_Redstone via LilyPond <[email-masked]> a écrit :
> 
> Février 28
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/5>.
> 
> La librairie mingus.extra.lilypond n'est plus mise à jour depuis plusieurs années, et elle n'est rien d'autre qu'un petit raccourci fait pour gagner un peu de temps, mais qui n'est pas du tout indispensable. A votre place, je commencerai déjà par réinstaller correctement lilypond, je créerai le pdf depuis un éditeur lilypond, il apparaîtra par défaut au même niveau que le fichier source http://source.ly/ en .ly, et je mettrai ensuite le pdf dans le projet python, si vous faites peu de changements dessus, c'est beaucoup plus simple que de passer par mingus.
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/5>.
> 
> Pour vous désabonner de ces e-mails, cliquez ici <https://lilypond.community/email/unsubscribe/85f53384da7782552c8d533d0745c233e3ca7295b96e2b22a1d3958c0075ffd7>.
>

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/6).

---

From: Fred_Redstone via LilyPond <[email-masked]>
Date: Wed, 28 Feb 2024 14:08:14 +0000

Autre question plus ou moins reliée (mais que je vais mettre ici puisque ça prend du temps faire approuver un post) :
Comment je change la clef depuis Python? Je n'arrive pas à placer des notes basses en clef de Fa

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/7).

---

From: Jean Abou Samra via LilyPond <[email-masked]>
Date: Wed, 28 Feb 2024 15:05:23 +0000

[quote="Fred_Redstone, post:7, topic:5644"]
(mais que je vais mettre ici puisque ça prend du temps faire approuver un post) :
[/quote]

Non, c'est seulement le premier post qui est modéré (pour prévenir le spam).

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/8).

---

From: Ben via LilyPond <[email-masked]>
Date: Wed, 28 Feb 2024 15:19:09 +0000

Dans la fonction save_string_and_execute_LilyPond(ly_string, filename, command), vous devez passer le code lilypond dans la variable ly_string. 

Donc tout le code que vous mettriez dans l'éditeur lilypond doit être passé dans ly_string, à l'exception du numéro de version qui est ajouté automatiquement par la fonction, et en faisant attention aux problèmes d'échappements. 

> Le 28 févr. 2024 à 15:07, Fred_Redstone via LilyPond <[email-masked]> a écrit :
> 
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/7>.
> 
> Le 28 févr. 2024 à 14:11, Fred_Redstone via LilyPond [email-masked] <mailto:[email-masked]> a écrit :
> 
> https://lilypond.community/u/fred_redstoneFred_Redstone
> Février 28
> Pour poster dans ce sujet, visitez la page du sujet https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/5.
> 
> Pour créer un nouveau sujet, écrivez à [email-masked] <mailto:[email-masked]> mailto:[email-masked] ou visitez la page d'accueil de lilypond.community https://lilypond.community/.
> 
> Réponses précédentes
> 
> Ben https://lilypond.community/u/ben Ben
> Février 27
> https://lilypond.community/u/fred_redstoneFred_Redstone
> Février 27
> Ben https://lilypond.community/u/ben Ben
> Février 21
> Bonjour Fred,
> 
> command = 'lilypond %s -o "%s" "%s.ly <http://s.ly/> http://s.ly/"' % (command, filename, filename)
> https://lilypond.community/u/fred_redstoneFred_Redstone
> Février 21
> Bonjour,
> 
> https://lilypond.community/uploads/default/original/2X/4/487324767d0dc9bc9213a51c9f3a94bcd473ccb7.png
> 
> Merci de votre aide!
> 
> Pour poster dans ce sujet, visitez la page du sujet https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/5.
> 
> Pour créer un nouveau sujet, écrivez à [email-masked] <mailto:[email-masked]> mailto:[email-masked] ou visitez la page d'accueil de lilypond.community https://lilypond.community/.
> 
> 
> 
> Pour vous désabonner de ces e-mails, cliquez ici https://lilypond.community/email/unsubscribe/85f53384da7782552c8d533d0745c233e3ca7295b96e2b22a1d3958c0075ffd7.
> Pour poster dans ce sujet, visitez la page du sujet <https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/7>.
> 
> Pour vous désabonner de ces e-mails, cliquez ici <https://lilypond.community/email/unsubscribe/cd03a0b5020a038d31c534525a5d09fa79d16b5faf717cbdc8219008b1f018a1>.
>

---
Pour poster dans ce sujet, visitez la [page du sujet](https://lilypond.community/t/la-methode-to-pdf-ne-cree-pas-de-pdf/5644/9).