メモ

目次 

はじめに 

python使っててpipでインストール下にも関わらずコード実行するとインストールされてないよと言われてキレそうだった。
割と躓きそうなポイントなので備忘録として残しておきます。

大前提 

大前提としてpythonを複数バージョン、インストールするのはやめましょう。特にpython触りたてで何もわからないけど、「ネットの記事でこのバージョン使ってたから新しくバージョン入れてみよう」みたいなのは絶対やめたほうがいいです。
僕も詳しくないのであまり詳しくは説明できませんが複数バージョンを扱う技術がないのであればやめましょう。

それでも... 

それでも複数バージョンをインストールしてしまったり、既にインストールしてしまっている場合は、バージョンを一つに絞るか、複数バージョンを使い分ける技術を身につけましょう。

原因 

いよいよ本題に入ります。
今回の「pip installしたのにimport error」が起こる原因としては、現在使用しているpythonとpipでインストールされるpythonのバージョンが異なることにあります。なので使用するpythonとpipのインストール先を同じバージョンにしてあげれば問題は解決されます。(もしかしたらほかの原因があるかも)

対処の前に確認 

まずは現状把握から

pythonバージョンの確認 

コマンドプロンプトなどを開き

python -V

で現在使用している(python 〇〇.pyの時に使用される)バージョンを確認できます。
複数のpython環境があるときはpythonの対話モードに入り

import sys
sys.executable

と実行するとどのフォルダのpythonを使用しているかを確認できる。

pipバージョンの確認 

コマンドプロンプトなどで

pip -V

とすればpip install したときにインストールされるpythonのバージョンを確認できる。
ふたつのバージョンが異なっている場合今回の問題が発生します。

対処法 

原因と現状把握ができたのでいよいよ対処法。

対処法1:pythonのアンインストール 

力技です。自分がいらないと思うpythonバージョンをすべて削除してください。
僕の場合はpython -Vでは3.6.5でしたが、pip -Vでは3.8だったので、いらない3.6.5をアンインストールするとpython -Vで3.8.5が使用できるようになりました。

対処法2:バージョンの指定 

何らかの理由でpythonのバージョンを複数入れておきたいという方は、pythonやの使用するバージョンを指定してバージョンの切り替えを行ったり、pipでインストールするバージョンを指定することでこの問題を解決できます。
僕の場合、pythonのアンインストールをするまではこちらの方法で凌いでいました。

使用するpythonのバージョン指定(ファイルごと) 

使用するファイルを常に同じpythonバージョンで使用したい場合、そのプログラムファイルの先頭に

#!python3.8

のように自分の使用したいpythonバージョンを書いてやればプログラムを実行した際に指定したバージョンで実行が行えます。

使用するpythonのバージョンの指定(コマンドごと) 

プログラムファイルの実行毎にバージョンを指定したい場合は

py -3.8 〇〇.py

のようにバージョンを書くことにより指定することができます。この書き方は#!python○○よりも優先度が高く、プログラムに#!python3.5と書いてあっても、py -3.8とすればpython3.8で実行されます。

インストールするpipのバージョン指定 

pipのインストール先バージョンを指定したい場合は

py -3.8 -m pip install pandas

のようにしてやればバージョンを指定することができます。
ちなみに、普通に

py -m pip install pandas

とすると、pip -Vで確認したバージョンと同じ場所にインストールされます。
pipでインストールしたライブラリの一覧を見たいときは

pip list

で確認できます。

おわりに 

長くなってしまいましたが以上がpip installしたのにimport errorが出るときの対処法でした。ぶっちゃけ[原因]で述べた理由以外の時にも同じようなエラーが出る可能性はあるのですが、大体はpythonの複数バージョンによるエラーだと思います。今回の方法を試してもエラーが出るのであればご自身でググってください。
他の原因のエラーの解決方法がわかれば追記していきます。

参考 

https://tzmi.hatenablog.com/entry/2020/01/13/232021
https://gammasoft.jp/python/python-version-management/


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS