LoginSignup
60
41

More than 3 years have passed since last update.

Windows10 でpip をupgrade したら「ModuleNotFoundError: No module named 'pip'」が発生するようになった

Last updated at Posted at 2019-08-14

この記事は

気軽にpipをupgradeしようとしたら、失敗してハマったので、記録を残しておきます。

※2020/09/22 ページ下部に別コマンドを追記

環境

  • Windows10
  • Python 3.6.8
  • pip 19.2.1 --> 19.2.2

事象の発生

ふと、pip モジュールをアップグレードしようと思いました。
下記のように実行すると、エラーになりました。

> pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/8d/07/f7d7ced2f97ca3098c16565efbe6b15fafcba53e8d9bdb431e09140514b0/pip-19.2.2-py2.py3-none-any.whl (1.4MB)
     |████████████████████████████████| 1.4MB 656kB/s
Installing collected packages: pip
  Found existing installation: pip 19.2.1
    Uninstalling pip-19.2.1:
ERROR: Could not install packages due to an EnvironmentError: [WinError 5] アクセスが拒否されました。: 'd:\\python\\python36\\scripts\\pip.exe'
Consider using the `--user` option or check the permissions.

アクセス権が無いのか、失敗しています。
丁寧に「--user」オプションをつけるようメッセージも出ています。
「--user」オプションをつけて再度実行します。

PS D:\usr\VSCode> pip install --upgrade pip --user
Traceback (most recent call last):
  File "d:\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Python\Python36\Scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
PS D:\usr\VSCode> pip -V
Traceback (most recent call last):
  File "d:\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\Python\Python36\Scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
PS D:\usr\VSCode>
PS D:\usr\VSCode> d:\\python\\python36\\scripts\\pip.exe
Traceback (most recent call last):
  File "d:\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\python\python36\scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
PS D:\usr\VSCode> d:\\python\\python36\\scripts\\pip.exe -V
Traceback (most recent call last):
  File "d:\python\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "d:\python\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "D:\python\python36\scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
>

しかし、すでにpipは帰らぬ人になっていました。
これ以降は、pipを実行するとすべて、ModuleNotFoundError: No module named 'pip' となってしまします。
pipを再インストールしたいが、pipが動作しない・・・。

pipのインストール

別な手段でインストールする必要があります。

Installation — pip 19.2.1 documentation を参考に、下記のファイルをダウンロードします。
https://bootstrap.pypa.io/get-pip.py

ダウンロードしたファイルをpythonで実行します。

> python get-pip.py

完了後、pipが正常動作するようになりました。

> pip -V
pip 19.2.2 from d:\python\python36\lib\site-packages\pip (python 3.6)

しかも、最新バージョンになっていました。

念のため、upgradeします。
こんどは、きちんと--userオプションをつけて。

> pip install --upgrade pip --user

すでに最新版になっているため、アップグレードはされませんでしたが、pipの実行は行われました。

ちなみに、
--user オプションをつけると、モジュールをユーザディレクトリにインストールします。
参考:pip 19.2.1 documentation » Reference Guide

2020/09/22 追記

今では、下記のコマンドでpipのアップデートを実行しています。
現状、トラブルは発生していません。

$ python -m pip install -U pip
60
41
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
60
41