日々精進

新しく学んだことを書き留めていきます

pip installで「ERROR: Could not install packages due to an OSError: [WinError 5] アクセスが拒否されました。」エラーが出た時に「pip install --user」は使わない方が良い

「ERROR: Could not install packages due to an OSError: [WinError 5] アクセスが拒否されました。」 というエラーメッセージでググるとpip install --userという風に--userオプションを付けると直るよという情報が見付かる。

私見では--userを付けるのは良くないと思う。理由は以下。

  • --userを付けると、user siteにインストールされる
  • user siteにインストールされたパッケージは他のconda仮想環境にも影響する
  • 例えば、user siteにnumpyをインストールしていて、conda仮想環境env1でnumpyを使ったコードを実行するとenv1にnumpyがインストールされていなくても動いてしまう
  • env1のyamlファイルをexportして他の人のPCでenv1環境を構築するとnumpyが入ってないのでnumpyを使ったコードを実行するとエラーになる

なのでanaconda promptを管理者権限で実行し、pip installを実行するのが良いと思う。