2012-06-22 5 views
11

sudo pip-python(CentOS 6パッケージ:python-pip-0.8-1.el6.noarch)でパッケージをインストールすると、インストールされたパッケージがrootのみが読み取り可能であるというアクセス許可の問題が発生することがあります。pip:矛盾したアクセス許可の問題

もう一度もう一度再インストールすると、通常、問題が解決されます。誰かがこれを経験しましたか?または誰でも原因を特定するためのトラブルシューティング手順を提案することはできますか?

答えて

10

sudoを使用してコマンドを実行すると、ユーザumaskが保持されます。 pipはファイルをインストールするだけでアクセス権は変更されないため、現在のユーザーのumaskに準拠したアクセス権を持つファイルになります。これは所有者が読み取り可能なもの(0077) 。

つまり、sudo pip installを実行する前にumaskをumask 0022のような賢明なものに設定することができます。または、sudo suを使用して、デフォルトの設定でルートシェルを開き、次にpip installを開きます。

+0

当初、スタッフの一人がこれを報告したとき、私は同じことを考えました。しかし、今では制限のあるアクセス権を最初に設定していますが、何も変更せずに再度実行するとうまくいきます。 –

+0

ええと、本当に変なことがあります、特に「何も変えないで」。私はこの問題をsudoを使ってpipしているときしか見ていませんでしたが、今はrootシェルから適切なumaskを使ってpipを実行しています。ここで何が起こっているのかわからない... – mata

+0

また、sudo bashを実行してからumask 0022を実行してpip install – mabraham

0

、sudoでPIPを実行する場合は、ユーザのホームディレクトリをターゲットにするのsudoの-Hフラグ

-H、--set-ホームセットHOME変数をすることができ

例えば

sudo -H pip install virtualenv