我运行以下命令的 perl 脚本:
/bin/bash -c 'TASKRC=/Users/me/.taskrc /usr/local/bin/task add \'the task\''
当从命令行运行 perl 脚本时,该脚本工作正常。该命令在库中执行一些 python 代码tasklib
,以将任务插入到 TaskWarrior 数据库中。
但是,当 perl 脚本由应用程序 Karabiner Elements 间接执行时,我会收到错误消息。
当 perl 脚本独立运行时,一些调试语句会显示这一点:
Python version: 3.9.9
Python bin: /usr/local/bin/python3
但是,当 Karabiner 执行 perl 脚本时,我看到:
Python version: 3.8.9
Python bin: /usr/bin/python3
tasklib
因此,正在使用较旧的 3.8 版本。我需要以某种方式告诉 bash 使用 3.9.9 版本的 python,以便它可以找到tasklib
在/usr/local/lib/python3.9/site-packages
. 我该怎么做呢?