複数のpythonコマンドがある環境でpipを使い分ける方法

Ubuntu

環境:Ubuntu18.04.LTS@WSL
pipの使い分けでハマったので備忘録

・pipインストール

sudo apt-get update
sudo apt-get install python3-pip
pip3 -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

・pytnon3.9インストール

sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.9

・pythonバージョン確認

python3は3.6に紐づいている模様

python3 -V
 Python 3.6.9
python3.6 -V
 Python 3.6.9
python3.9 -V
 Python 3.9.7

・pipを使い分ける

pipコマンドは、python -m pipを使うのが推奨らしい

python3.6 -m pip -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
python3.9 -m pip -V
ImportError: cannot import name 'sysconfig' from 'distutils' (/usr/lib/python3.9/distutils/__init__.py)

エラーが出たので、下記実行

sudo apt install python3.9-distutils

これでpython3にバージョンに合わせてpipを選択できるようになった

python3.6 -m pip -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)
python3.9 -m pip -V
pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.9)

pipを使いモジュールインストール

エラー発生。。

python3.9 -m pip install numpy
AttributeError: 'HTMLParser' object has no attribute 'unescape'

いろいろアップグレード

python3.9 -m pip install --upgrade setuptools
python3.9 -m pip install --upgrade pip
python3.9 -m pip install --upgrade distlib

無事pipによるインストール成功

python3.9 -m pip install numpy
Successfully installed numpy-1.21.2

コメント

タイトルとURLをコピーしました