2016-12-14 80 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也可以工作。