私は次のようにpython3インストールを実行しようとしています:
pip3 install Django
エラーが発生します:
PermissionError:[Errno 13]権限が拒否されました: '/usr/local/lib/python3.6/site-packages/pytz'
私はそれから試みます:
Sudo pip3 install Django
エラーが発生します:
Sudo:pip3:コマンドが見つかりません
$ PATHは次のようになります。
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin
Sipからpip3にアクセスするにはどうすればよいですか?
私はDjango install this wayを発行しました:
pip3 install --user Django
これで問題が解決しました。
セキュリティ上の理由から、sudoは現在のユーザーと同じPATH
を使用していません。 /etc/sudoers
オプションがありますsecure_path
Sudoでコマンドを実行するときに使用されるパスを指定します。鉱山は次のようになります。
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Sudoマンページから:
secure_path Path used for every command run from Sudo. If you don't trust the people running Sudo to have a sane PATH environment variable you may want to use this. Another use is if you want to have the “root path” be separate from the “user path”. Users in the group specified by the exempt_group option are not affected by secure_path. This option is not set by default.
pip3
コマンドはおそらくsudoers
ファイルで定義されたパスにありません。 secure_path
またはpip3
このようなコマンド:
Sudo /path/to/pip3 install Django
Sudoが使用時に$ PATH変数を保持していない可能性があります。コマンドでpip3バイナリへのフルパスを使用してみてください。例:Sudo /path/to/pip3 install Django
。完全なパスがわからない場合は、which pip3
。