sudo python wrong version

你离开我真会死。 提交于 2021-02-16 18:06:56

问题


I get python 2.7 when running sudo. I've tried changing my .bash_profile and .bashrc from my original user and root, but to no avail.

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

I've alias python='python3' in both bash configs in both users and sourced them.

How do I get python 3.5 to load with sudo python?

EDIT: This is on OSX EDIT2: I've also tried looking at which python.

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

回答1:


As a possible workaround you can add to your bash_aliases (or similar to it):

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

And then:

. .bashrc



回答2:


the two different pythons must be running from different locations on your computer. from the terminal, try running

whereis python and sudo whereis python. whereis will tell you what path you are running python from. then, once you figure out where 3.5 is you can run sudo <path to 3.5>




回答3:


Find the location of python for the root user. In the shell type sudo -i to change to root user. Then type which python.

Changing the python version of the system is not recommended. Some system scripts may face issues for this. You can set alias in the root users bashrc or similar files which should be located in /etc (e.g /etc/bashrc ) directory.

I am not in mac and also I haven't tried this. So the answer is not tested.




回答4:


sudo doesn't source your (or root's) .bashrc, and overrides much of the environment of the calling user, so adding aliases there isn't helpful.

Why not just type sudo python3?

Depending on your security settings, sudo -E python may work as well.



来源:https://stackoverflow.com/questions/41135243/sudo-python-wrong-version

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!