openpyxlをインストールしてpythonによるexcelの自動化を試みております。
python
1(base) sasatakyukiiMac:~ user$ pip install openpyxl 2Requirement already satisfied: openpyxl in ./opt/anaconda3/lib/python3.9/site-packages (3.0.4) 3Requirement already satisfied: jdcal in ./opt/anaconda3/lib/python3.9/site-packages (from openpyxl) (1.4.1) 4Requirement already satisfied: et-xmlfile in ./opt/anaconda3/lib/python3.9/site-packages (from openpyxl) (1.1.0)
とインストール自体はされている様子ですが、
実際IDLEで確認すると、以下のようなエラーが出てしまいます。
ModuleNotFoundError: No module named 'openpyxl'
Googleやchat GPTなどで調べていくつか解決方法を試みましたが、解決できません。
解決方法をご教示ください。
> とインストール自体はされている様子ですが、
> 実際IDLEで確認すると、以下のようなエラーが出てしまいます。
インストールしたPython環境と確認したPython環境が異なっているのでしょう。IDLEではなくインストールを実行したターミナルでそのままコードを実行すればエラーは発生しないのではないでしょうか?
コメントありがとうございます。
pythonの環境は相違ないかと思います。
今日1日これで潰れてしまいました。
もう少し粘ってみます。
> pythonの環境は相違ないかと思います。
その予想は間違っています。
openpyxlをインストールしたPythonと、IDLEを実行しているPythonが同じならライブラリは見つかります。
ライブラリが見つからないのは、別のPythonだからです。
コメントありがとうございます。
確かにpythonそのものは3.9と3.11がインストールされております。
両方とも試しましたがやはりダメでした。
実際何がダメなのかすら現状は不明です。
> Requirement already satisfied: openpyxl in ./opt/anaconda3/lib/python3.9/site-packages (3.0.4)
上記を見るとお使いのPCにはAnacondaがインストールされていて、その環境にモジュールをインストールしたんですよね?なのでAnacondaでコードを実行すれば良いのでは?
> 確かにpythonそのものは3.9と3.11がインストールされております。
> 両方とも試しましたがやはりダメでした。
「別のPython」というのはバージョンのことではないです。
言葉が足りませんでしたが、「別のPython環境」のことです。venvを使って別の環境を作っているのでは?
「pythonの環境は相違ないかと思います」とお書きだったので複数環境あることは把握済みかと思ってました。
このあたり、「複数環境を作ってそれぞれ別物として意図的に使い分ける」といいう目的がないのであれば、pyenvとかvenvとか一切使わず、インストールするPythonも1つだけにしましょう。
複数の環境を作った場合は、「自分は今どのPython環境で作業しているのか」を常に把握する必要があります。
コメントいただいたみなさま、ありがとうございました。
megさんのおっしゃるとおりanacondaの方へモジュールが入っていたようです。
私の方ではvs codeをメインに使用していることもあり、そこからcondaをアンインストールしたのち、
pip3 install openpyxl
でインストールしなおしたところ、解決いたしました。(こちらはotnさんの助言通り環境を一つに絞りました)
私自身プログラミング3ヶ月目の初学者でまだまだ勉強不足です。
また次回よろしくお願いいたします。
(長文申し訳ございません)
解決おめでとうございます!
解決方法をまとめて、「自己解決」として回答してください!
同じように困っている人の貴重な情報になると思います。

回答1件
あなたの回答
tips
プレビュー