Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Python

Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処方法について

投稿日:2022年4月4日 更新日:

 

<目次>

(1) Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処方法について
 (1-1) エラーメッセージ・発生状況
 (1-2) 原因
 (1-3) 対策

(1) Pythonで「ERROR: Could not install packages due to an OSError: [WinError 2]」が出た時の原因と対処方法について

(1-1) エラーメッセージ・発生状況

Visual Studio CodeのPowershellコンソールから、Pythonのpip(パッケージ管理ツール)を使いパッケージインストールした際に、次のエラーが出でインストールに失敗しました。
(実行コマンド)
> pip install requests
(エラーメッセージ)
ERROR: Could not install packages due to an OSError: [WinError 2] 指定されたファイルが見つかりません。: 'C:\\Python310\\Scripts\\normalizer.exe' -> 'C:\\Python310\\Scripts\\normalizer.exe.deleteme'
(図111)

(1-2) 原因

このエラーメッセージは、インストールの権限が足りない場合などで出力されます(Linuxでいうroot権限や、WindowsでいうAdmin権限が必要な所、それが無いためにエラーになっている)。

(1-3) 対策

上記原因のため、管理者権限でインストールするか、「–users」オプションで管理者権限を必要としないインストールをするか、の大きく2択になると思います。今回は後者の「–users」の方法を紹介します。

●「–users」について

「–users」はpipによる、サードパーティ製のライブラリのインストールを、ユーザーのホームディレクトリに対して行うように指示するオプションです。通常pipによるインストールは、システムディレクトリ(例:Linuxの場合「/home/[ユーザー名]/local/lib/pythonX.X/site-packages」のようなディレクトリ)に対して実施し、OSの全てのユーザーに対して利用可能にしますが、これには「管理者権限」が必要となります。
 
「–users」を付与する事で、そういった管理者権限を必要としない、ユーザー自身に閉じた(他のユーザーからは参照できない)インストールを実施できます。
 
インストールされたパッケージは、Windowsの場合は標準で下記のようなパスに保存されます(※[ユーザー名]をご自身のユーザー名で置き換え)
 
C:\Users\[ユーザー名]\AppData\Roaming\Python\Python310\site-packages
 
(図112)この配下にあるパッケージは、インストールしたユーザーのみ使用できます

●「–users」オプションによるインストールの場合

エラーになった項目の末尾に「–users」オプションを付与してインストールします。
 
(コマンド)
> pip install requests --users
 
(実行結果)→インストール成功

Successfully installed certifi-2021.10.8 requests-2.26.0
(図121)
 

Adsense審査用広告コード


Adsense審査用広告コード


-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Pythonのdatapackage学習中に遭遇したエラー「StopIteration」と「AttributeError」の対応

(0)目次&概説 (1) 記事の目的 (2) エラー1:AttributeError: ‘generator’ object has no attribute ‘n …

PythonのdatapackageとSQLAlchemy、SQLiteを使ってcsvデータをSELECTする

(0)目次&概説 (1) 今回の目的  (1-1) 目的  (1-2) 前提条件 (2) 実施手順  (2-0) 事前作業  (2-1) データ(csv)のロード  (2-2) エンジンの作成  (2 …

PythonのSQLAlchemyで「Identifier ‘XXX’ exceeds maximum length of 30 characters」エラーや「DtypeWarning: Columns (X) have mixed types.」警告が出た時の対処について

(0)目次&概説 (1) エラー1:sqlalchemy.exc.ArgumentError  (1-1) 発生状況・エラーメッセージ   (1-1-1) エラーメッセージ   (1-1-2) エラー …

PythonでSQLAlchemyを使ってOracleDBに接続する際に遭遇したエラーとその対処方法

本記事は次の記事の続編です。 (下記記事の手順を実行する際に遭遇したエラーについての備忘録) PythonでSQLAlchemyを使ってOracleDBに接続する方法 (0) 目次 (4) エラー対応 …

Pythonのコンストラクタの基礎と「self」や「__init__」について

<目次> (1) Pythonのコンストラクタの基礎と「self」や「__init__」について  (1-1) 「__init__」やコンストラクタについて  (1-2) コンストラクタで使われる「s …

  • English (United States)
  • 日本語
Top