PandasのインストールとImportError

Monday, September 27, 2021

Pythonの一番のハードルはプログラミングを始めるまでの環境構築といっても過言ではないかと思います ^^;

僕はデータ分析系の仕事でPandasを使っているのですが、新しくPythonを使う人は(当初の僕も含めて)ほぼ100%環境づくりの段階でつまづきます・・・

import pandas

>>> ImportError: No module named pandas

ありがとうございますorz 同僚や友人に何度この質問をされたか数え切れません ^^;

というわけで今回はPandasのインストールのしかたと、この忌まわしきエラーが起こる原因と解決策を書きます:)

おもにWindowsでのトラブル対応が多いのでWindowsについて書いていきます・・・

Pandasのインストール

もっとも簡単かつ確実なのはpip install pandasでしょう。

  • 前提としてpipとpythonをインストールしてあるものとすれば
  • ターミナル(コマンドプロンプト)でpip install pandasを実行

自分のコンピューターなら問題なくインストールできるはずです。会社だとHTTP Connection error的なのがでるかもしれません(これについてはまた今度・・・)

そしてそのままターミナルでPythonでPandasを試してみましょう。

>>> python
>>> import pandas

エラーはでてこないはず。

しかし「pipでインストールしたのに>>> ImportError: No module named pandasになるんだけど!」

という人があとを断ちません。よくあるケースとしてVS Codeを使っている場合を例にしてみていきます。

VS CodeでImportError

VS CodeでImportError: No module named pandasででてくるのは大抵の場合は使っているPythonとPandasをインストールしたPythonが別のものだからです。

  • 複数のPythonのバージョンがインストールされている
  • Anacondaをインストールしてある

という人は要注意です。

なぜなら>>> pythonで起動したPythonがさきほどPandasをインストールした先とは別のものかもしれないからです。

図のような状況でPython3.9でPandasをインポートしようとしてもエラーになってしまいます(Windowsのフォルダー構成になってます)

Pythonが複数あるときのpipのワナ

Pythonが複数あるときのpipのワナ

たとえばVS Codeなどで特定のPythonを使っていて、気づかずに別のPythonにPandasをインストールしていた。というのはけっこうあるあるです。

解決策としては

  1. VS Codeで実行したPythonがどのPythonか調べる
  2. 使いたいPythonを指定する
  3. 使いたいPythonの中にあるpipでpandasをインストールする
  4. 使いたいPythonでスクリプトを実行する

です。1コずつ実際にやってみましょ ^^

VS CodeがどのPythonを使っているのか調べる

  • VS Code上でCtrl + Shift + Pを押すとVS Codeのメニューがでてきます
  • python select interpreterとタイプしてコマンドを選択
  • テキストボックスにのっているPython(Current: ~/python.exeなど)がデフォルトのPythonです
Select Python Interpreter (VS Code)

Select Python Interpreter (VS Code)

Pythonのバージョンとパス

Pythonのバージョンとパス

自分のマシーンのどこにどんなPythonがあるのかを知っておくのは今後ともとても重要になります :)

注意:VS CodeのPython Extensionがインストールされていないとメニューがでてこないのでインストールしておきましょう ^^

使いたいPythonを指定する

メニューででてきたPythonから使いたいPythonを選択しましょう。

これでVS CodeのデフォルトPythonを指定できます。

もし使いたいPythonがメニューないになければ、直接パスを入力すれば指定できます。

使いたいPythonの中にあるpipでpandasをインストールする

ここが直接的な解決の部分になります。

  • C:Program Files/Python37/Scripts/python -m pip install pandasのようにし、使いたいPythonの中にあるpipを使う
Pythonのフォルダー内にあるpip

Pythonのフォルダー内にあるpip

-mはmoduleのことで、pythonでpipモジュールを実行するということをしています。

どのPythonかを指定しているので、pythonが自動的に同じディレクトリ内のpipを探して実行してくれます。

これでpandasが指定した特定のPythonのsite-packagesへとインストールされます ^^

使いたいPythonでスクリプトを実行する

VS Codeでimport pandasがあるスクリプトを再度実行するとエラーがでないはずです。

まだエラーがでる、という場合は

  • 正しいPythonを使っているか
  • Pandasのインストール中にエラーは起きなかったか

などを確認してみてください。

まとめ

Pandasインストール方法とImportErrorが起きる場合のVS Codeでの確認と解決について書きました。あらためて文字にするとなかなか説明が難しい・・・

PyCharmでも根本的な原因は同じかもしれないので、多少のUIは違えど同じ容量で解決できるかもしれません。

Pythonは仮想環境(Virtual Environment)を使わないとパッケージやPythonのバージョンなどがごっちゃになって再現性の観点でも問題になってきます。

この記事では書きませんでしたが、仮想環境とrequirements.txtファイルでのパッケージマネージメントについては今度書こうと思います ^^

あとAnacondaでのImportErrorについても聞かれることが多いので記事にしたいと思います。

それでは ^^/


記事をシェア・Likeしてくれると ^_^ です!


comments powered by Disqus