我正在尝试在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://i.stack.imgur.com/ec1e0.jpg
您遇到的第一个问题是,从开箱即用,Macos Lilypond App不会以其他应用程序易于访问的方式揭示其基础命令行工具。第二部分是,即使您解决了此问题,也不是很明显如何将修复程序进入Pycharm。幸运的是,这两个问题都可以解决。
首先,解释错误。错误:
/bin/sh: lilypond: command not found
表示Shell脚本正在尝试运行lilypond
,而没有指定工具的任何特定位置。MACOS将在这种情况下查看您的PATH
环境变量以尝试找到它。
第二,要纠正错误的路径:不要为此使用解释器路径。唯一的用途是告诉Pycharm Python口译员居住的地方;您无法使用它来通知Lilypond居住的Abjad。对于后一个任务,PATH
将是您最好的选择。
有几种方法可以解决此问题,但是要点是:您需要使用包含该工具的一些目录更新PATH
- 但是您还需要以Pycharm启动的脚本拾取更新的脚本来更新它PATH
。
通常,我在~/.bash_profile
中进行PATH
黑客攻击,因为Bash是MacOS中的默认外壳,并且每次启动终端时,此"脚本"都会加载(至少对于最近版本的OS X/MacOS(。在此脚本中,添加一个看起来像这样的行(先做脚本的备份!(:
export PATH="$PATH:/Applications/LilyPond.app/Contents/Resources/bin/"
并保存您的更改。执行此操作后,如果您启动了一个新的终端窗口,则应该可以运行lilypond
并查看Lilypond使用。
设置该设置后,我相信您只需要退出和重新启动pycharm,它应该选择新的PATH
。(如果失败,请尝试再次登录。(在我的PyCharm版本中,我检查PATH
是否可以通过转到首选项,找到"构建,执行,部署> Console> Console> Python console",寻找文本,寻找文本字段称为"环境变量"(其中PATH
是一个(,单击文本字段右侧的" ..."按钮以查看详细信息,确保选中"包含父环境变量",然后单击单击该复选框旁边的一个"显示"链接,以使Pycharm弹出一个对话框,其中所有环境变量在运行Python控制台操作时都会通过。PATH
应在此处列出,您的Lilypond路径应包含在其价值中。
我不认识您,但是我发现必须将MacOS应用程序的胆量直接放在我的PATH
中,因此我会提到完整性的其他解决方案:
- 使用符号链接使该工具出现在您的
PATH
中已经存在的目录中。使用终端,将cd
到您想要的目录(我喜欢我的个人工具的~/bin
,我创建了自己的目录并将其添加到PATH
的目录很长时间AO(,并为Lilypond创建了一个符号链接:ln -s /Applications/LilyPond.app/Contents/Resources/bin/lilypond .
。 - 您还可以使用Homebrew将Lilypond的纯命令行版本安装到
/usr/local/bin
中,这是我发现的工具,我发现在MacOS中将Unix应用程序争吵无价。据我所知,/usr/local/bin
应该已经在您的PATH
上(如果不是,那么添加它是一件好事!(。这种方法的问题 - 除了在您的机器上运行的多个Lilypond装置外,其版本的Lilypond倾向于稍微落后,这可能会导致Abjad on the Road的问题。(目前在2.18.2上,这是最新的稳定版本(。