OS X 10.8.3 を使用しています。
ターミナルを開くと、
echo $PATH
/usr/local/bin があり、sh または bash で実行した場合も同様です
ただし、次のpythonコード出力:
import os
print os.environ.copy()
/usr/local/bin パスがない
$PATH の仕組みを説明できる人はいますか? それを拡張するものはありますか?Python スクリプトがターミナルに表示される $PATH を出力しなかったのはなぜですか? Linux ディストリビューションでも同じように動作しますか?
どのように私はそれに遭遇しましたか?崇高な 2 プラグイン js2coffee をインストールしました。プラグインはサブプロセス (インポート サブプロセス) を実行し、exec の名前 js2coffee を提供します。 . それを修正するために、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
)