我正在尝试在pycharm中使用abjad和lilypond为学校项目生成音乐。但是,在安装了abjad和lilypond之后,我似乎无法再使用abjad来使用lilypond。
我已尝试按照lilypond网站上的说明进行操作。我读了一些有关配置运行配置的内容,但似乎无法使其正常工作。我不知道如何在PyCharm中为virtualenv添加路径。
当我运行一些示例代码时,我只是在运行窗口“ / bin / sh:lilypond:命令未找到”中得到了它。
notes = [abjad.Note("ds'16"), abjad.Note("cs'16"), abjad.Note("e'16"), abjad.Note("c'16")]
container = abjad.Container(notes)
abjad.show(container)
编辑1:我尝试将/LilyPond.app/Contents/Resources/bin/lilypond添加到我的项目解释器中的解释器路径,但仍然没有成功。
编辑2:这就是我的解释器路径的样子:https://imgur.com/H6xSeYh
答案 0 :(得分:0)
您遇到的第一个问题是,MacOS Lilypond应用程序开箱即用,不会以其他应用程序可以轻松访问的方式公开其底层命令行工具。第二部分是,即使您解决了该问题,如何将修复程序纳入PyCharm也并非是显而易见的。幸运的是,这两个问题都可以解决。
首先,解释错误。错误:
/bin/sh: lilypond: command not found
表示shell脚本正在尝试运行lilypond
,而未指定工具的任何特定位置。在这种情况下,MacOS会查看您的PATH
环境变量以尝试找到它。
第二,要改正错误的路径:请勿为此使用解释器路径。唯一的用途是告诉PyCharm Python解释器在哪里。您不能使用它来通知阿贾德Lilypond的居住地。对于后一项任务,PATH
将是您最好的选择。
有几种方法可以解决此问题,但要点是:您需要使用包含该工具的某个目录来更新PATH
–但是您还需要以PyCharm启动的脚本进行更新选取更新后的PATH
。
通常,我会PATH
进行~/.bash_profile
的黑客攻击,因为Bash是MacOS中的默认shell,并且每次启动终端程序时都会加载此“脚本”(至少对于最新版本的OS X / MacOS)。在此脚本中,添加如下所示的行(首先备份脚本!):
export PATH="$PATH:/Applications/LilyPond.app/Contents/Resources/bin/"
并保存您的更改。完成此操作后,如果启动新的“终端”窗口,则应该能够运行lilypond
并查看打印出的Lilypond用法。
设置好之后,我相信您只需退出并重新启动PyCharm,它就可以使用新的PATH
。 (否则,请尝试注销并再次登录。)在我的PyCharm版本中,我通过转到首选项并找到设置“构建,执行,部署>控制台> Python控制台”来检查PATH
是否正确,查找一个名为“环境变量”(其中PATH
是一个)的文本字段,单击该文本字段右侧的“ ...”按钮以查看详细信息,确保“包含父环境变量”,然后单击该复选框旁边的“显示”链接,以使PyCharm弹出一个对话框,其中包含运行Python控制台操作时传递的所有环境变量。 PATH
应该在此处列出,并且您的Lilypond路径应包含在其值中。
我不了解您,但是我发现像这样直接将MacOS应用的勇气直接放入PATH
中实在令人不快,因此为完整性起见,我将提及其他两个解决方案:
PATH
中已经存在的目录中。使用终端,cd
到您想要的目录(我喜欢~/bin
作为我的个人工具,是我自己创建的目录,很长一段时间后又添加到我的PATH
中),然后创建因此,指向Lilypond的符号链接为:ln -s /Applications/LilyPond.app/Contents/Resources/bin/lilypond .
。/usr/local/bin
中,该工具对于在MacOS中处理Unix应用程序非常有用。据我所知,/usr/local/bin
应该已经在您的PATH
上了(如果没有,最好添加它!)。这种方法的问题–除了在您的计算机上运行多个Lilypond安装之外,其Lilypond版本往往会滞后一些,这可能会导致Abjad出现问题。 (当前版本为2.18.2,它是最新的稳定版本)。