我正在使用OS X 10.8.3。python中的PATH環境變量
如果你打開一個終端,
echo $PATH
在/ usr/local/bin目錄是存在的,如果你還通過sh或bash的運行
不過的Python代碼的輸出:
import os
print os.environ.copy()
缺少/ usr/local/bin路徑
任何人都可以解釋$ PATH是如何工作的嗎?有沒有延伸它的東西?爲什麼python腳本沒有打印我在終端上看到的$ PATH?它在Linux發行版上表現如何?
我是怎麼遇到它的?我安裝了一個sublime 2插件js2coffee,該插件運行一個子進程(import subprocess),提供一個exec的名稱,js2coffee - 位於/ usr/local/bin中,一個不在python os中的路徑env 。爲了解決它,我不得不將它添加到env中:
env = os.environ.copy()
env["PATH"] = "/usr/local/bin/"
js2coffee = subprocess.Popen(
'js2coffee',
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True,
env= env
)
嘗試'print os.environ ['PATH']' – suspectus