Python - Как переименовать Musescore path в пакете music21?

Я попытался установить пакет Python music21, и у меня возникли проблемы с запуском его в Windows. В основном, когда я пытался запустить простую команду, которую они приводят в качестве примера

converter.parse("tinynotation: 3/4 c4 d8 f g16 a g f#").show()

Я получил ошибку

SubConverterException: Cannot find a path to the 'mscore' file at C:\Program Files (x86)\MuseScore 2\MuseScore.exe -- download MuseScore

Причина этого в том, что Musescore.exe больше не хранится в папке "MuseScore 2", а теперь находится в подпапке "bin". Поэтому для доступа к Musescore необходимо указать путь "C:\Program Files (x86)\MuseScore 2\bin\MuseScore.exe".

Как мне это изменить?

Полная ошибка

SubConverterException                     Traceback (most recent call last)
<ipython-input-8-46c66c71749d> in <module>()
----> 1 converter.parse("tinynotation: 3/4 c4 d8 f g16 a g f#").show()

C:\Users\MrNoName\Anaconda3\lib\site-packages\music21\stream\__init__.py in show(self, *args, **kwargs)
    255         if self.isSorted is False and self.autoSort:
    256             self.sort()
--> 257         return super(Stream, self).show(*args, **kwargs)
    258 
    259     #---------------------------------------------------------------------------

C:\Users\MrNoName\Anaconda3\lib\site-packages\music21\base.py in show(self, fmt, app, **keywords)
   2586                                  app=app,
   2587                                  subformats=subformats,
-> 2588                                  **keywords)
   2589 
   2590     #--------------------------------------------------------------------------

C:\Users\MrNoName\Anaconda3\lib\site-packages\music21\converter\subConverters.py in show(self, obj, fmt, app, subformats, **keywords)
    312 
    313             if 'Opus' not in obj.classes:
--> 314                 fp = helperSubConverter.write(obj, helperFormat, subformats=helperSubformats)
    315 
    316                 defaults.title = savedDefaultTitle

C:\Users\MrNoName\Anaconda3\lib\site-packages\music21\converter\subConverters.py in write(self, obj, fmt, fp, subformats, **keywords)
    808 
    809         if subformats is not None and 'png' in subformats:
--> 810             fp = self.runThroughMusescore(fp, **keywords)
    811         return fp
    812 

C:\Users\MrNoName\Anaconda3\lib\site-packages\music21\converter\subConverters.py in runThroughMusescore(self, fp, **keywords)
    756             raise SubConverterException(
    757                         "Cannot find a path to the 'mscore' file at " +
--> 758                         "%s -- download MuseScore" % musescorePath)
    759 
    760         fpOut = fp[0:len(fp) - 3]

SubConverterException: Cannot find a path to the 'mscore' file at C:\Program Files (x86)\MuseScore 2\MuseScore.exe -- download MuseScore

2 ответа

Сделайте это сразу после импорта музыки21:

environment.set('musescoreDirectPNGPath', 'C:\\Program Files (x86)\\MuseScore 2\\bin\\MuseScore.exe')

Для MuseScore 3

      us = environment.UserSettings()
us['musicxmlPath'] = 'C:\\Program Files\\MuseScore 3\\bin\\MuseScore3.exe'
us['musescoreDirectPNGPath'] = 'C:\\Program Files\\MuseScore 3\\bin\\MuseScore3.exe'
us['musicxmlPath']

И если это все еще не работает, попробуйте открыть environment.py с помощью sublime или иначе в C:\Users\YOU\AppData\Local\Programs\Python\Python39\Lib\site-packages\music21\environment.py затем измените '%PROGRAMFILES%\MuseScore 3\MuseScore.exe' для '%PROGRAMFILES%\MuseScore 3\bin\MuseScore.exe'

Другие вопросы по тегам