2016-12-14 18 views
3

sudoを実行しているときに私はpython 2.7を取得します。 .bash_profileと.bashrcを元のユーザーとrootから変更しようとしましたが、役に立たなかったのです。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. 
>>> 

私は両方のユーザーが両方のbashのconfigsでalias python='python3'をしましたし、それらを調達。

Python 3.5をsudo pythonでロードするにはどうすればよいですか?

EDIT:これはOSX EDIT2:私も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

を実行することができますです:

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

そして:

. .bashrc 
2

2つの異なるピントンは、コンピュータの別の場所から実行している必要があります。端末から、試してみてください。

whereis pythonsudo whereis pythonを試してみてください。 whereisはPythonを実行しているパスを教えてくれます。あなたが把握たら、その後、3.5は、あなたがあなたのbash_aliases(またはそれに類似)に追加することができます可能な回避策としてsudo <path to 3.5>

0

rootユーザー用のpythonの場所を探します。シェルのsudo -iでは、rootユーザーに変更します。次に、which pythonと入力します。

システムのpythonバージョンを変更することはお勧めしません。一部のシステムスクリプトでは、この問題が発生する可能性があります。ルートユーザbashrcまたは/etc(たとえば/etc/bashrc)ディレクトリにある類似のファイルにエイリアスを設定できます。

私はマックではないし、これも試していない。したがって、答えはテストされていません。

0

sudoは、自分の(またはルートの).bashrcをソースしていないため、呼び出し元の環境の多くをオーバーライドしているため、エイリアスを追加することは役に立ちません。

sudo python3と入力してください。

セキュリティ設定によっては、sudo -E pythonも機能する場合があります。

関連する問題