質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

2回答

2734閲覧

Mac版 Pythonのopenpyxlモジュールが使用できません

gumkuchakucha

総合スコア6

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2018/08/31 01:51

編集2018/08/31 05:55

前提・実現したいこと

Mac版のPythonでopenpyxlモジュールを使用できる状態にしたいです。

発生している問題・エラーメッセージ

ModuleNotFoundError: No module named 'openpyxl

▼ターミナル実行結果
(1)which python → /anaconda3/bin/python

(2)python -V → Python 3.6.5 :: Anaconda, Inc.

(3)python -c 'import sys; print(sys.prefix)' → /anaconda3

(4)python -m pip show openpyxl
Name: openpyxl
Version: 2.5.3
Summary: A Python library to read/write Excel 2010 xlsx/xlsm files
Home-page: https://openpyxl.readthedocs.io
Author: See AUTHORS
Author-email: charlie.clark@clark-consulting.eu
License: MIT/Expat
Location: /anaconda3/lib/python3.6/site-packages
Requires: jdcal, et-xmlfile
Required-by:
You are using pip version 10.0.1, however version 18.0 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

(5)python → 
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

**(6)>>>import openpyxl

print(type(sheet))→**

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'sheet' is not defined

該当のソースコード

Python

試したこと

Launchpadから「IDLE」を実行し、Shell上で「import openpyxl」と入力し、F5キーで
実行致しました。

その結果、Shellには「ModuleNotFoundError: No module named 'openpyxl'」と表示されました。

ネットで調べたところ、anacondaというパッケージが詰まったアプリを落としてくればいいということがわかり、
下記サイトの手順通りに進めてみたのですが、何度Pythonを起動させて、openpyxlをインポートしようとしても
出来ず、昨日、丸一日かかっても解決できませんでした。お恥ずかしい話ですが手詰まり状態です。

http://yo42ki.hatenablog.jp/entry/2017/04/20/Mac%E3%81%ABAnaconda%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%EF%BC%88Python%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E6%A7%8B%E7%AF%89%E3%81%AB

プログラム初心者なので何か大きな勘違いをしているだけだと思うのですが、おわかりになる方がいらっしゃいましたらご教示頂けないでしょうか。何卒宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2018/08/31 02:50

現時点で which python の実行結果、 python -V の実行結果、 python -c 'import sys; print(sys.prefix)' の実行結果などを追記してもらえるといいかと思います。
gumkuchakucha

2018/08/31 02:55

quiqui様 (1)which python → which python (2)python -V → Python 3.6.5 :: Anaconda, Inc. (3)python -c 'import sys; print(sys.prefix)' → /anaconda3 と出力されました。宜しくお願いいたします。
quickquip

2018/08/31 03:10

質問に追記していただくようお願いします。
gumkuchakucha

2018/08/31 03:16

quiqui様 質問に追記致しました。宜しくお願いいたします。
tachikoma

2018/08/31 04:29

python -m pip show openpyxl で詳細確認できますか?これが出なければpython -m pip install --ignore-installed openpyxl としてみてください。
gumkuchakucha

2018/08/31 04:37

tachikoma様 詳細表示できました。Name: openpyxl Version: 2.5.3....... という感じです。宜しくお願い致します。
quickquip

2018/08/31 04:49 編集

省略しないで全部(ただしアカウント名などはマスクして)質問に追記しましょう。(ここは「質問への追記・修正の依頼」欄です)
tachikoma

2018/08/31 04:53

ふむ、問題が発生する最小限のソースコードと、それをどのように実行したかを追記お願いします。ターミナルで実行した、PyCharmから実行した、等々。
gumkuchakucha

2018/08/31 04:55 編集

quiqui様 tachikoma様 失礼いたしました。追記してみたのですがこんな感じでよろしかったでしょうか。。ご確認お願い致します。
tachikoma

2018/08/31 05:11

quiquiさんのやつを確認したターミナルでpythonと入力してから、import文を試してみてください。そのIDLE、Anacondaとは別のPythonを使ってますわ。
gumkuchakucha

2018/08/31 05:59

tachikoma様 anacondaと使っているIDLEは別物だったんですね。。でしたらanacondaのIDLEを使用しないといけないということでしょうか?それはどこから起動させればよいのでしょうか・・調べてみたのですがそれらしき記事が見当たりませんでした。アプリはlaunchpadから起動すると思っているのですが何か大きな勘違いをしているのでしょうか・・・何卒宜しくお願い致します。
tachikoma

2018/08/31 06:29

(6)のimportまでうまく通るようになっているので、そのやり方でokです。
gumkuchakucha

2018/08/31 08:49

tachikoma様 素人丸出しのすみません。あまり理解できていないのですが、該当のモジュールを使用する場合は、毎回ターミナルからPythonを起動させるということでしょうか?Launchpadからクリックひとつで起動する方法があればご教示いただけないでしょうか。
tachikoma

2018/08/31 11:42

適当なシェルスクリプトを書くか、PyInstallなどで実行ファイルにすれば出来ますが、いきなり取り組むのは少々難しいかも
guest

回答2

0

Python初心者です。私も同じ問題が発生しました。
手元の環境は、macOS 12.3.1、Python 3.9.5 を miniconda で導入しています。
質問者さんはanaconda3なのでちょっと違いますが、参考になれば幸いです。

ポイント

openpyxlライブラリにパスを通す必要があります。minicondaでは下記のディレクトリに格納されています。(これを探すのが意外に手間取りました)

/opt/miniconda3/lib/python3.9/site-packages

【方法1】実行ファイル毎にライブラリパスを指定する

手軽に解決できるのが利点ですが、各ファイルに記載する必要があります。
具体的には、下記の3行をpythonの実行ファイルの一番頭に追記します。

import sys
sys.path.append('/opt/miniconda3/lib/python3.9/site-packages')
import openpyxl

(参考URL)
https://qiita.com/ymto/items/e00e95543aab2d4d45ee

【方法2】ターミナルの環境変数にライブラリパスを設定する

ホームディレクトリの.bash_profileに追記する方法です。
方法1とは異なり、実行ファイル毎の記載が不要になります。
具体的には、.bash_profile末尾に下記を記載します。

export PYTHONPATH="/opt/miniconda3/lib/python3.9/site-packages"

(参考URL)
https://super-vitality.com/python-modulepass-settei/

【小ネタ】.bash_profileの編集

.bash_profileの編集はviコマンドで、と紹介されていることが多いですが、macOSにはopenコマンドがあります。openコマンドで.bash_profileを開けば、テキストエディタで楽に編集できます。

cd ./
open .bash_profile

ただし、.bash_profileはロックされた状態で開くため、変更後のファイルをそのまま保存することができません。そこで、編集後のファイルを一旦、別名で(ファイル名を".bash_profile2.txt"などとして)保存し、下記の要領で新旧ファイルを入れ替えた後、ターミナルを再起動すれば新しい.bash_profileが読み込まれます。mvコマンドを使った入れ替え操作は次の通りです。

mv .bash_profile .bash_profile~
mv .bash_profile2.txt .bash_profile

投稿2022/05/07 15:12

編集2022/05/07 21:28
pylearner

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自分も同じ問題が発生しました。
Ptythonは普通に使えるけど、openpyxlでerrorになる状態です。
環境は、とりあえずなんでも最新です。ちなみにPythonは初心者です。
自分の場合、Python2とPython3が共有した状態で、Python3にのみopenpyxlをinstallした状態でした。どこかのサイトで、Python2にinstallしてと書いてあったので、Python2にもinstallしたのですが、状況は変わらず。
.bash_profileも変更して再起動しましたが、状況は変わらず。

最終的に実行してみてできたのが、以下の手順です。

  1. Anaconda Navigatorを起動
  2. 一番左のメニューにある"Environment"をクリックして
  3. 右の1個飛び越えた蘭にある"Installed"の状態で"openpyxl"があるかを確認

 自分の場合、表示に"openpyxl"が出てこなかったので
4. "installed"を"Not installed"に変更してリストを確認したところ"openpyxl"が出てきたので
5. "openpyxl"にチェックすると、左下に"APPLY"のアイコンが出てくるので、それをクリック

一通り完了したので、再度、Visual Studio Codeで実行したところ問題なく実行されました。

投稿2020/04/09 02:30

Hirasaker

総合スコア6

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問