この警告はどういう意味ですか? Amazon ec2 Ubuntu 14.04 LTS instanceでrootを使用して次のコマンドを実行すると取得しました。
$ pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz
The directory '/home/ubuntu/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
The directory '/home/ubuntu/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with Sudo, you may want Sudo's -H flag.
まあ、あなたの質問には部分的に引用符で答えがあります:
Sudo
を使用してルート権限を取得していますが、Sudo
の使用方法は$HOME
の値を調整しないため、pipはSudo
を呼び出したユーザーのpipディレクトリ。
実際のユーザーがインストールされたモジュールを削除または変更する場合、これにより問題が発生する可能性があるため、警告が表示されます。
警告を回避し、必要がない限り、root/Sudoなしでpipを使用するか、Sudo -H
としてSudoを呼び出して、変更するユーザーに$HOME
を設定します。 、この場合は/root
。
このメッセージは、その後発行されたコマンドにSudoを使用して、以前にpipを実行した可能性があることを示唆しています。
例えば
Sudo pip install https://github.com/troeger/opensubmit/archive/0.6.2.tar.gz
デフォルトでは、Sudoは環境変数HOME
を変更しないため、Sudo env | grep HOME
はHOME=/home/username
を出力します。 -H
をSudoコマンドに追加すると、この動作が変更され、HOME=/root
が出力されます。
問題を解決するには、このパスのすべてのフォルダー/home/ubuntu/.cache/pip/http
(/および/ homeを除く)がubuntu
によって所有されていることを確認する必要があります。
Sudo -H chown -R ubuntu: /home/ubuntu/.cache