プログラミングと絵と音楽

コンピューター科学を専攻し、絵と音楽を趣味とするエンジニアのブログです。

sudo時にコマンドが実行できない場合の対処

CentOS で Python3.5 をインストールして pip3.5 をしようと次のコマンドを実行しました。

sudo pip3.5 search nltk

すると、コマンドが無いということで実行できませんでした。普通に pip3.5 をコマンドとして入力すると実行できるので、sudo にした際にパスが引き継がれていないのではないかと予想できます。

sudo 時のパス設定に関して調べると visudo を編集するいくつかの方法が出てきましたが、手元の環境を見ると先例とちょっと違っていたのでメモしておきます。

visudo で

Defaults env_reset
Defaults env_keep = "..."
Defaults env_keep += "..."
...

Defaults env_keep += "HOME"

Defaults secure_path = ...

の部分を、 secure_path の行をコメントアウトし、 Defaults env_keep += "PATH" を付け足す。
これで実行したいコマンドが実行できるようになりました。