运行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
答案 0 :(得分:2)
两个不同的蟒蛇必须从您计算机上的不同位置运行。从终端,尝试运行
whereis python
和sudo 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
也可以正常运行。