2016-09-26 11 views
3

pythonの正規ユーザーとしてPythonインタプリタを入力します。私はこれを参照してください。Pythonインタプリタを終了するために "exit()"と入力すると "PermissionError"がスローされます

Python 3.5.2 |Anaconda 4.1.1 (64-bit)| (default, Jul 2 2016, 17:53:06) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

私はすぐにexit()を入力すると、この問題が発生:

Python 3.5.2 (default, Jul 5 2016, 12:43:10) 
[GCC 5.4.0 20160609] on linux 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 

このルックスを:

>>> exit() 
Error in atexit._run_exitfuncs: 
PermissionError: [Errno 13] Permission denied 

私はそれがsudo python3を実行して与えているという事実に関係するかもしれないと思います別のpython 3.5のインストールになる。

これが問題の場合は、sudo python3と入力するとanaconda pythonのインストールが実行されます。これはどうすればいいですか?

+0

あなたが説明している2つの問題(終了時に例外を取得し、sudoで実行するときに別のインタプリタを取得する)が関連していることはわかりません。後者については、それはパスの問題だと確信しています。 'which python3'と' sudo which python3'を実行して、実行中の異なるインタプリタがどこにあるのか調べてみてください。あなたはあなたのパスを変更しないように指示するいくつかのオプションで 'sudo'を呼び出すことができるかもしれません(しかし、それは必ずしも良い考えが別の質問です)。 – Blckknght

答えて

3

私はこの問題を発見し、エラーメッセージをGoogleで検索した:http://bugs.python.org/issue19891

問題は、多くの場合、現在のユーザが(私のpythonというユーザーのための論理的だと思う)ホームディレクトリを持っていないに関係しているようですまたはホームディレクトリに適切な権限を持っていないが、問題はまだ開いています。

+0

それはちょうどそれを残すことはおそらく安全ですか? – thundergolfer

+0

python.orgでの議論に基づいて、実際に無視することができるエラーメッセージのように見えます。私は個人的には、どんな速度でも。 ^^ ' –

0

~/.python_historyのオーナーをrootからmy_user_accountに変更すると問題が解決しました。

1

python3.4/3.5でも同じ問題がありました。私は戻って〜/ .python_historyの所有権を私の現在のユーザーに変更し、問題は解決しました。