sudo python版本错误

时间:2016-12-14 05:07:43

标签: python macos version sudo

运行sudo时我得到python 2.7。我尝试从我的原始用户和root用户更改我的.bash_profile和.bashrc,但无济于事。

$ 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.
>>> 

我在两个用户的bash配置中alias python='python3'并获得了它们。

如何使用sudo python加载python 3.5?

编辑:这是在OSX上 EDIT2:我也尝试过which python。

$ which python
/usr/bin/python
$ sudo which python
/usr/bin/python

4 个答案:

答案 0 :(得分:2)

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

whereis pythonsudo whereis python。 whereis将告诉你从哪个路径运行python。然后,一旦你弄清楚3.5在哪里就可以运行sudo <path to 3.5>

答案 1 :(得分:1)

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

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

然后:

. .bashrc

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

sudo不会来源(或根).bashrc,并会覆盖调用用户的大部分环境,因此添加别名无效。

为什么不输入sudo python3

根据您的安全设置,sudo -E python也可以正常运行。