如果我在控制台中运行以下内容,它会输出'/usr/bin:/bin:/usr/sbin:/sbin:/sbin':
import os
os.environ['PATH']
但是其他地方的路径是正确的。在~/.MacOSX/environment.plist
中,如果我运行launchctl getenv PATH
,我都会得到正确的路径。
这阻止了我运行咖啡库。有什么想法我可以解决这个问题?
我遇到了同样的问题,并且找不到传递正确路径的方法。但是,我有一个解决方法:一旦您从外壳打开崇高的文本后,它似乎可以与正确的路径一起使用。换句话说:
- 遵循此提示,以创建外壳快捷方式以崇高文本。这是可选的,但派上用场。
- 如本线程的答案中所述创建一个工作流程,并使用shell脚本打开sublime文本(使用上面创建的
subl
命令或直接)。这样,您可以从码头打开St。
我希望有帮助。
创建一个空的文本文件,称为" sublime text.sh",sublime text Application bundle bundle directory
/Applications/Sublime Text.app/Contents/MacOS
在文本编辑器中打开sublime text.sh并输入以下内容:
#!/bin/sh
. ~/.bash_profile
logger "`dirname "$0"`/Sublime Text"
exec "`dirname "$0"`/Sublime Text" $@
在终端设置shell脚本eclipse.sh的可执行旗,即:
chmod +x /Applications/Sublime Text.app/Contents/MacOS/Sublime Text.sh
打开sublime text.app info.plist并将键CfbundleExecutable的值从崇高的文本更改为sublime text.sh。
macOS X不会自动检测到Sublime text.app的信息。因此,您需要使用lsregister命令强制强制更新终端中的启动服务数据库:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Sublime Text.app
下次您启动Sublime Text.App从码头或查找器中设置时,应设置环境变量。
这将使您这样做,以便当您打开Sublime Text.App时,它将运行您的shell脚本,而不是崇高的文本可执行文件。
您的shell脚本然后执行.bash_profile(设置路径),然后使用该路径启动崇高的文本。