2016-11-14 6 views
2

3 сценария, чтобы получить $ PATH ниже: 1) из Терминала 2) из ​​Python запущен из терминала 3) из Python (IDLE)

1) В терминале: >> echo $PATH приводит к списку из ~ 10-15 мест

2) запустить Python в терминале:

>> python 
>> os.environ['PATH'] 
>> # I get the same list as in the first scenario. Expected 

3) Теперь я бегу питона IDLE (так, не запускать терминал)

>> os.environ['PATH'] 
>> # I get different list of paths. much less locations comparing to 1 or 2 scenarios. 

В: Как мне изменить $ PATH так, чтобы он влиял на Python IDLE? Я нашел некоторые рекомендации по обновлению $ PATH из .bash_profile, но похоже, что они влияют на $ PATH только при запуске Terminal.

Я также рассмотрел/etc/paths, но все же есть место (/ usr/loca/bin /), которое пропущено в 3d-сценарии. Итак, каково в основном происхождение переменной $ PATH в Mac OS X?

+0

Этот вопрос должен иметь ответы, которые вы ищете: http://stackoverflow.com/questions/25385934/setting-environment-variables-via-launchd-conf-no-longer-works-in-os-x- yosemite –

ответ

1

Переменная $ PATH изменяется на .bash_profile, который выполняется при запуске терминала. В вашем случае вы должны отредактировать /etc/paths.d/ через, например, инструмент Apple path_helper (см. here).

+0

Я думаю, вы упустили вопрос. IDLE печатает различную информацию –

+0

, поэтому на самом деле path_helper печатает '/ usr/local/bin /', в то время как Python IDLE нет. Означает ли это, что у Python IDLE есть собственный параметр или он загружает/etc/paths, но затем удаляет некоторые местоположения с помощью некоторых других настроек? –

+1

Переменная 'PATH' часто устанавливается' .bash_profile', но это * только * для программ, которые запускаются в терминале, и только если ваша оболочка установлена ​​в Bash. –

Смежные вопросы