web-dev-qa-db-ja.com

Linuxコマンドが見つかりましたが、sudoの使用時に見つかりませんでした

私は次のように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にアクセスするにはどうすればよいですか?

11
petey

私はDjango install this wayを発行しました:

pip3 install --user Django

これで問題が解決しました。

0
petey

セキュリティ上の理由から、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
9
EvilTorbalan

Sudoが使用時に$ PATH変数を保持していない可能性があります。コマンドでpip3バイナリへのフルパスを使用してみてください。例:Sudo /path/to/pip3 install Django。完全なパスがわからない場合は、which pip3

1
Safado

あなたはいつでもできます:

Sudo env "PATH=$PATH" pip3 install Django

この答え で述べたように。

0