

Python3.7を使う必要があり、Google
Colab上で3.7をインストールしたたのですが、pipがインストールされていませんでした（Pythonのバージョンは `!python3 -V`
で確認しています）。

そこで、`!sudo apt install python3-pip` を実行としたところ、"python3-pip is already the
newest version (20.0.2-5ubuntu1.8)" と表示され、すでにインストールされているようです。

ところが、`!pip list` とすると "ModuleNotFoundError: No module named 'distutils.util'"
というメッセージが出ました。

`!sudo apt install python3-distutils`
としてdistutilsをインストールしたところ、"python3-distutils is already the newest version
(3.8.10-0ubuntu1~20.04)." と表示され、これもインストールされているようです。

ところが、やはり `!pip list` とか `!pip --version` を実行とすると "ModuleNotFoundError: No
module named 'distutils.util'" というエラーメッセージが出ます。

どのようにしたら解決できるでしょうか？よろしくお願いします。


CC BY-SA 4.0
2023-04-26T02:38:58.987
94648
2023-04-27T04:31:47.927
2023-04-26T04:08:56.433
3060
58065
question
python google-colaboratory
Google Colab上のPython3.7でpipが使えない問題


以下、Google Colaboratory 上で試してみた結果。

[code]

    !apt install python3.7 python3.7-distutils
    !wget https://bootstrap.pypa.io/get-pip.py
    !python3.7 get-pip.py
    !pip -V
    !pip list
    
    pip 23.1.1 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
    
    Package             Version
    ------------------- --------------------
    dbus-python         1.2.16
    pip                 23.1.1
    PyGObject           3.36.0
    python-apt          2.0.1+ubuntu0.20.4.1
    requests-unixsocket 0.2.0
    setuptools          67.7.2
    wheel               0.40.0
    
[/code]


CC BY-SA 4.0
2023-04-26T03:56:20.010
94649
2023-04-26T03:56:20.010
47127
94648
answer


複数のバージョンの Pythonが入ってる場合, pip | pip3 コマンドを利用するとどの Python環境に対して処理を行うかはっきりしません

pipコマンドは, 紐づいた Pythonを起動し pipモジュール内 `.cli.main` によって引数を解釈し実行している模様  
なので, 直接 Pythonを起動すると混乱を避けることができます

[code]

    python3.7 -m pip install SomePackage
    
[/code]

参考: (docs.python.org) [Python
モジュールのインストール](https://docs.python.org/ja/3/installing/)

* * *

(追記)

(上記リンクからたどれば) ドキュメントには以下のような項目が記されています  
(一度目を通したほうがよいでしょう)

  * 基本的な使い方
  * どうすればいいの...？ (よくある課題への簡単な回答もしくは回答へのリンク)
  * よくあるインストールに関する問題 (pip がインストールされていない, 場合など)

`python` | `python3` など直接 Pythonを指定することで

  * 問題なく環境が整っていればモジュール一覧取得など各種機能を利用できる
  * どこかに問題があれば何処に問題があるのか(pipが入っていない, その他)がわかる


CC BY-SA 4.0
2023-04-26T05:09:59.573
94651
2023-04-27T04:31:47.927
2023-04-27T04:31:47.927
43025
43025
94648
answer