2016-12-14 12 views
3

Я получаю python 2.7 при запуске sudo. Я попытался изменить свой .bash_profile и .bashrc у моего первоначального пользователя и root, но безрезультатно.sudo python неправильная версия

$ python 
Python 3.5.2 (default, Oct 11 2016, 05:05:28) 
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.38)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> ^D 
$ sudo python 
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

Я alias python='python3' в обоих Баш конфиги в обоих пользователей и источников их.

Как получить python 3.5 для загрузки с sudo python?

EDIT: Это на OSX EDIT2: Я также пробовал смотреть на which python.

$ which python 
/usr/bin/python 
$ sudo which python 
/usr/bin/python 
+1

попробовать запустить env | grep PATH и sudo env | grep PATH см. вывод – Tyler

ответ

0

В качестве возможного решения проблемы вы можете добавить в свой bash_aliases (или аналогичный ему):

alias python='/usr/bin/python3' 
alias sudo='sudo ' 

А потом:

. .bashrc 
2

два разных питона должны быть запущены из разных мест на вашем компьютере. от терминала, попробуйте запустить

whereis python и sudo whereis python. whereis расскажет вам, с какого пути вы запускаете python. Затем, как только вы выяснить, где 3.5 вы можете запустить sudo <path to 3.5>

0

Найдите местоположение python для пользователя root. В оболочке введите sudo -i, чтобы изменить пользователя root. Затем введите which python.

Изменение версии системы на Python не рекомендуется. Некоторые системные сценарии могут столкнуться с проблемами для этого. Вы можете установить псевдоним у пользователей root bashrc или аналогичных файлов, которые должны быть расположены в каталоге /etc (например, /etc/bashrc).

Я не в маке, и я также не пробовал это. Поэтому ответ не проверен.

0

sudo не является источником (или root's) .bashrc и переопределяет значительную часть среды вызывающего пользователя, поэтому добавление псевдонимов там не помогает.

Почему бы не просто напечатать sudo python3?

В зависимости от ваших настроек безопасности может работать sudo -E python.

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

  • Нет связанных вопросов^_^