2016-12-14 8 views
3

Ich bekomme Python 2.7 beim Ausführen von Sudo. Ich habe versucht, meine .bash_profile und .bashrc von meinem ursprünglichen Benutzer und root zu ändern, aber ohne Erfolg.Sudo Python falsche Version

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

Ich habe alias python='python3' in beiden bash configs in Benutzern und bezogen sie.

Wie bekomme ich Python 3.5 mit sudo python laden?

EDIT: Dies ist auf OSX EDIT2: Ich habe auch versucht, Blick auf which Python.

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

versuchen Sie run env | grep PATH und sudo env | grep PATH siehe Ausgabe – Tyler

Antwort

0

Als mögliche Abhilfe führen Sie Ihre bash_aliases hinzufügen können (oder ähnlich):

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

Und dann:

. .bashrc 
2

Die zwei verschiedenen Pythons müssen von verschiedenen Orten auf Ihrem Computer ausgeführt werden. Versuchen Sie vom Terminal aus

whereis python und sudo whereis python. whereis wird Ihnen sagen, aus welchem ​​Pfad Sie Python ausführen. wenn Sie dann, herauszufinden, wo 3,5 ist, können Sie sudo <path to 3.5>

0

Suchen Sie den Speicherort von Python für den Benutzer root. In der Shell-Typ sudo -i zu Root-Benutzer wechseln. Geben Sie dann which python ein.

Das Ändern der Python-Version des Systems wird nicht empfohlen. Bei einigen Systemskripts können Probleme auftreten. Sie können Alias ​​in den Root-Benutzern bashrc oder ähnlichen Dateien festlegen, die sich im Verzeichnis /etc (z. B. /etc/bashrc) befinden sollten.

Ich bin nicht in Mac und auch ich habe das nicht versucht. Also die Antwort wird nicht getestet.

0

sudo Quelle nicht Ihre .bashrc.bashrc und überschreibt viel von der Umgebung des aufrufenden Benutzers, daher ist das Hinzufügen von Aliasen nicht hilfreich.

Warum nicht einfach sudo python3 eingeben?

Abhängig von Ihren Sicherheitseinstellungen funktioniert sudo -E python möglicherweise auch.

Verwandte Themen