1. ホーム
  2. python

非 root ユーザで Python のサードパーティモジュールをインストールする際に、Permission denied となる問題の解決策。

2022-02-13 12:38:44

非 root ユーザーが pip を使用してモジュールをインストールすると、" が報告されます。 パーミッションが拒否されました Python モジュールのデフォルトのインストールパスは /usr/local/lib/python2.7/dist-packages/ で、これはシステムパスであり root 権限が必要なため、 " というエラーが発生します。

[解答】をご覧ください。]

ユーザーは自分のサイトパッケージディレクトリを設定できます。パスは ~/.local/lib/python2.7/ site-packages/ です (このパスがない場合は自分で作成できます。mkdir -p ~/.local/lib/python2.7/ site-packages/)。

以下のように、環境変数にパスを追加します。

echo "PYTHONPATH=$HOME/.local/lib/python2.7/site-packages" >> .bashrc
echo "export PATH=$HOME/.local/bin:$PATH" >> .bashrc
source .bashrc 

最後に、pip install --prefix=~/.local パッケージ名など、python パッケージをインストールする際にパスを指定すると、自分のディレクトリに正常にインストールされます。