ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

Python:モジュールをインストールしているはずなのに、importでエラーが発生する

2020年に開発し2021年に運用した、Pythonのプログラムを再度運用する予定です。
本番環境構築前に、環境構築の手順の確認を行いました。

2021年のときは、環境構築をお願いしましたが、今回は勉強しながら僕が環境の構築をしています。

Pythonのインストールは、検索して参考になるページがあったので、最新のPython 3.10.2をUbuntu 20.04 LTSにインストールしました。
Pythonのインストール先は、

$ which python3
/usr/local/bin/python3

となっています。

Pythonのプログラムを配置して、起動すると、

ModuleNotFoundError: No module named 'pymysql'

が表示されました。

pymysqlが必要なんだとわかり、どうやってインストールすればいいのかと検索したら、公式ページがありました。
pypi.org

公式ページに書かれている通り、

$ python3 -m pip install PyMySQL

でインストールしました。

これで動作するのだろうと思ったら、動作しません。

Python
Photo by Artturi Jalli on Unsplash

対処方法

stackoverflow.com
キーワードを何度も変えて検索をして、試行錯誤した結果、上記のページにあった

$ sudo pip3 install pymysql

でインストールしたら、動作するようになりました。

Ubuntu 20.04 LTSに最初から導入されている

/usr/bin/python3

Pythonのバージョンは、3.8.10です。

Python 3.8.10で動作するようにするためには、

$ sudo apt install python3-pip

でpipをインストール後、以下のページに書かれていた
exerror.com

$ sudo apt install python3-pymysql

でインストールが必要でした。


公式ページとは異なる方法でインストールしなければならず、方法を見つけるまでに時間がかかりました。
Ubuntu特有なんでしょうか。