MacでPythonを使っていると、
次のようなエラーに遭遇することがあります。
Permission denied
特に、
- pip install を実行したとき
- Pythonファイルを実行したとき
- ファイルを書き込もうとしたとき
に表示されやすいエラーです。
この記事では、
MacでPermission deniedが出る主な原因と
安全に解決するための対処法を、
Python初心者向けに分かりやすく解説します。
※ 本記事は Mac環境(python3)を前提 に説明します。
この記事でわかること
- Permission denied が出る理由
- よくある発生パターン
- やってはいけない対処法
- 安全に解決する方法
Permission denied とは何か
Permission denied は、
その操作を行う権限がないことを意味します。
Pythonやpipのエラーというより、
macOSの権限管理によるエラーです。
そのため、
無理に対処すると環境を壊す原因になります。
原因① システム領域に書き込もうとしている
pip install 実行時に、
次のようなエラーが出ることがあります。
Permission denied: '/usr/local/lib/...'
これは、
- システム領域
- 管理者権限が必要な場所
に書き込もうとしている状態です。
原因② sudo を使わずにpip installしている
一部の環境では、
pip3 install ライブラリ名
を実行すると、
権限不足でエラーになることがあります。
このとき、
安易に sudo pip install を使うのは 非推奨 です。
原因③ 仮想環境(venv)を使っていない
仮想環境を使っていない場合、
- グローバルPython
- システム領域
にインストールしようとして、
Permission denied が出ることがあります。
やってはいけない対処法
Permission denied が出たとき、
次の対応はおすすめしません。
- sudo pip install を多用する
- 権限を無理に変更する
- システムファイルを書き換える
一時的に動いても、
後から別のエラーを引き起こす原因になります。
安全な対処法① 仮想環境(venv)を使う
最も安全でおすすめなのは、
仮想環境(venv)を使う方法です。
仮想環境内であれば、
管理者権限なしでライブラリを追加できます。
python3 -m venv venv
source venv/bin/activate
pip install ライブラリ名
これで Permission denied はほぼ解消されます。
安全な対処法② pipの実行環境を確認する
pipが、
どのPythonに紐づいているかを確認します。
pip3 --version
表示されるパスが、
- 仮想環境内
- 自分のユーザーディレクトリ
になっていれば問題ありません。
安全な対処法③ ファイルの実行権限を確認する
Pythonファイルを直接実行する場合、
./script.py
のように実行すると、
実行権限がなくてエラーになることがあります。
その場合は、
python3 script.py
の形で実行してください。
よくある勘違い
Permission denied が出たとき、
次のような誤解が多いです。
- Pythonのエラーだと思っている
- sudoを使えば解決すると思っている
- 権限を変更すれば良いと考えている
実際には、
環境設計の問題であることがほとんどです。
まとめ
MacでPermission deniedが出た場合、
次の点を順番に確認してください。
- 仮想環境(venv)を使っているか
- pipが正しいPythonを指しているか
- システム領域に書き込もうとしていないか
- 実行方法が適切か
特にPython初心者の場合、
sudoに頼らず仮想環境を使うのが安全です。
コメントを残す