2016-12-14 89 views
3

我运行sudo时得到了python 2.7。我试过改变我的.bash_profile和.bashrc从我原来的用户和根,但无济于事。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'在两个用户的bash配置和来源。

如何使用python 3.5加载sudo python

编辑:这是在OSX 编辑2:我也试过看which python。

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

try run env | grep PATH和 sudo env | grep PATH查看输出 – Tyler

回答

0

作为一种可能的解决方法,你可以添加到您的bash_aliases(或类似的话):

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

然后:

. .bashrc 
2

两个不同的蟒蛇必须从您的计算机上的不同位置运行。从终端,尝试运行

whereis pythonsudo whereis python。哪里会告诉你你从哪里运行python。然后,一旦你找出其中3.5是可以运行sudo <path to 3.5>

0

找到root用户的python位置。在shell中键入sudo -i以更改为root用户。然后键入which python

不推荐更改系统的python版本。有些系统脚本可能会遇到问题。您可以在根用户bashrc或应位于/etc(例如/etc/bashrc)目录中的类似文件中设置别名。

我不是在mac中,我也没有试过这个。所以答案没有经过测试。

0

sudo不会源(.bashrc),并覆盖主叫用户的大部分环境,因此添加别名无济于事。

为什么不只是输入sudo python3

根据您的安全设置,sudo -E python也可以工作。