pythonのエラーと戦う!Traceback (most recent call last): File "test.py", line 2, in from selenium import webdriver ImportError: No module named selenium

2020-04-05

問題のエラー

以下コードを実行してtest.pyを起動する。

$ python test.py

以下のエラーがでる。

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    from selenium import webdriver
ImportError: No module named selenium

seleniumのモジュールがないと言われているけれど、どうしていいのかがわからない。

環境

ざっくりMac

エラー解決まで

初心者の試行錯誤を残しているので最後以外は不必要なコマンドです。

ネットでそれっぽいコマンドを見つけては試した過程です。

$ pip install selenium

上記を実行すると

You are using pip version 19.2.2, however version 19.3.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

と怒られるので、言われた通りアップグレード

$ pip install --upgrade pip

しかしpythonを起動しても最初のエラーのまま。
念のため以下も実行。

$ sudo pip install selenium

pythonを起動してもエラー変わらず。

pipじゃなくてpip3が正しいらしい。

$ sudo pip3 install selenium

pythonを起動しても最初のエラーのまま。
検討違いのようなので作戦変更

パスが通っているのか確認。

$ echo $PATH

結果を見て、パスを当たったり足してみても変化なし。

ちょっとまた作戦変更して状況確認。

$ pip list

以下が応答で出てきた文。

Package Version
pip 19.3.1
selenium 3.141.0
setuptools 40.8.0
urllib3 1.25.3
wheel 0.33.4

へぇ。

$ pip3 show selenium

以下が応答で出てきた文。

Name: selenium
Version: 3.141.0
Summary: Python bindings for Selenium
Home-page: https://github.com/SeleniumHQ/selenium/
Author: UNKNOWN
Author-email: UNKNOWN
License: Apache 2.0
Location: /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
Requires: urllib3
Required-by:

ほぉ。

$ pip3 show webdriver

以下が応答で出てきた文。

WARNING: Package(s) not found: webdriver

WARNING: Package(s) not found: webdriver と書かれておりwebdriverがおかしいのかなと思う。

$ pip3 install selenium

もう一度、だめもとでseleniumをインストールするもなにも変わらない。

なんだか根本的に間違っている気がしていたらおまじないのようなコマンドを発見。試してみる。

$ export PYENV_ROOT="$HOME/.pyenv"
$ export PATH="$PYENV_ROOT/bin:$PATH"
$ eval "$(pyenv init -)"

エラーが解消。

pyenvとはPythonの複数あるバージョンを使い分けるコマンドラインツールだそう。

Pythonのバージョンが複数インストールされていて間違った方が読まれてしまったようです。

確かに適当にいろいろやっていたのでその可能性はあったなと納得。

またいつか同じエラーで怒られそうなので備忘録として残しておきたいと思います。

Python

Posted by Nakamoto