RyuseiSato
@RyuseiSato (SAI)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

MySQLdbがimportできない

解決したいこと

Amazon Linux2上に
pip install mysqlclientをインストールしました。
次にimportしようと
import MySQLdbと記述したのですが、エラーで使用できません。
対象方法を教えて下さい。

発生している問題・エラー

>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'MySQLdb'

pip list

Package                Version
---------------------- ----------
certifi                2021.10.8
distlib                0.3.4
filelock               3.4.2
joblib                 1.1.0
mecab-python3          1.0.4
mysql-connector-python 8.0.27
mysqlclient            2.1.0
numpy                  1.22.0
pip                    21.3.1
pipenv                 2021.11.23
platformdirs           2.4.1
protobuf               3.19.3
scikit-learn           1.0.2
scipy                  1.7.3
setuptools             38.4.0
six                    1.16.0
threadpoolctl          3.0.0
virtualenv             20.13.0
virtualenv-clone       0.5.7
0

2Answer

Comments

  1. @RyuseiSato

    Questioner

    回答ありがとうございます。
    distlibのバージョンは0.3.4で2021/12/09更新の最新バージョンだと思います。

起動しているインタプリタのPythonと、pipコマンドに結びついているPythonが異なる可能性があります。

たとえば、(少し古い記憶では)AmazonLinux2にははじめからpythonとして2系のPythonがインストールされていますが、
そちらのインタプリタを開いてしまっているのではないでしょうか。

以下のコマンドで、各コマンドの実体やバージョンを確認できます。
作業で用いたコマンドは、目的のPythonのものでしたか?

which python
python -V
which python3
python3 -V
# その他、python3.8 など
# bashであれば、 compgen -c | grep python で一覧できます
pip -V

また、任意のPythonコマンドから、そのPythonのpipモジュールを実行するには、次のようにします。

(Pythonコマンド) -m pip (pipへの引数)
0Like

Comments

  1. @RyuseiSato

    Questioner

    回答ありがとうございます。
    ご指摘の通り、Pythonが使用したいものと起動しているものが違っていました。
    各コマンドで確認したところ、「python」に使用したい各種プラグインが入っているのですが、「python3」を起動していました。
    @eudikaさんありがとうございました。

Your answer might help someone💌