2012-10-23 48 views
1

如果我運行在控制檯下運行,它輸出 '在/ usr/bin中:/ bin中:/ usr/sbin目錄:/ sbin目錄':崇高文本與不正確的PATH環境變量

import os 
os.environ['PATH'] 

但其他地方的PATH是正確的。在~/.MacOSX/environment.plist和如果我運行launchctl getenv PATH我得到正確的路徑。

這阻止了我運行CoffeeCompile。任何想法如何解決這個問題?

回答

0

我遇到了同樣的問題,並沒有找到一種方法來傳遞正確的PATH。但是,我有一個解決方法:只要從shell打開Sublime Text,它似乎可以使用正確的PATH。換句話說:

  1. 按照this tip來創建Sublime文本的shell快捷方式。這是可選的,但派上用場。
  2. 按照in the answer to this thread所述創建一個工作流程,使用shell腳本打開Sublime Text(使用上面創建的subl命令或直接)。這樣你可以從Dock中打開ST。

我希望有所幫助。

0

在文本編輯器創建的崇高文本應用程序包目錄

/Applications/Sublime\ Text.app/Contents/MacOS 

打開名爲「崇高Text.sh」的崇高Text.sh一個空的文本文件,並輸入以下內容:

#!/bin/sh 

. ~/.bash_profile 

logger "`dirname \"$0\"`/Sublime Text" 

exec "`dirname \"$0\"`/Sublime Text" [email protected] 

在終端設置的shell腳本eclipse.sh的可執行標誌,即:

chmod +x /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text.sh 

打開Sublime Text.app Info.plist並將關鍵CFBundleExecutable的值從Sublime Text更改爲Sublime Text.sh.

MacOS X不會自動檢測到Sublime Text.app的Info.plist已更改。因此,你需要強制使用lsregister命令更新在終端LaunchService數據庫:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -v -f /Applications/eclipse/Sublime Text.app 

下一次你從Dock或從Finder中的環境變量應設置啓動崇高Text.app。

這樣做會使它在打開Sublime Text.app時運行您的shell腳本而不是Sublime Text可執行文件。

然後,您的shell腳本執行.bash_profile(設置路徑)並啓動帶有該路徑的Sublime Text可執行文件。