プログラミング

pipでライブラリインストールしたのにImportError: No module named xx

python2はpipとつながっているはずだから、pipでライブラリをインストールすればいいはず。

sudo pip install plyvel

$ python -c 'import plyvel'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named plyvel

なん…だと。

確認。

$ pip --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
$ pip3 --version
pip 19.0.3 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)
$ pip2 --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
$ type pip
pip     pip2    pip3    pip3.6
$ type pip

僕の前の環境だと少なくとも、pip … python2, pip3 … python3 って繋がりで、pip2なんてある事自体知らなかった。
今回の事例では、pipとpip3がpython3に関連付けされており、python2のライブラリをインストールしたい場合にはpip2を使うべきだった。

sudo pip2 install --upgrade pip
sudo pip2 install plyvel

$ python -c 'import plyvel'
$
# => no error