pycharmを使って書いたpython3のコードがうまく走らない。
ModuleNotFoundError: No module named ‘sklearn’
とか出てくる。
tensorflowをインストールしたのにImportError: No module named ‘tensorflow’とか出てくる。
散々調べて、1日が経過しようとしたときに、ようやく実現できたので、備忘録を残しておく。
原因について
この問題はPycharmの環境設定ができていないことが理由として挙げられる。
pythonのコードとインタープリターのバージョンが違うために起こるエラー。
pythonはバージョンが違うとモジュールやライブラリが参照できないことがある。
そこで、自分の使いたいモジュールを含むpythonのバージョンをインタープリターとして選んでやらなくてはいけない。
言い換えると、これがプログラム開発の環境構築とも言える。
解決方法
さて、環境設定をするにはcommand+,で環境設定の画面が表れる。
そして、環境を見てみると、python3.8となっていた。
モジュールパッケージのリストを確認すると、Tensorflowがない。
Tensoflowはpython3.8をサポートしていないのが原因だ。
そこで、環境設定>プロジェクト>Python インタープリター
を確認する。Python3.8から3.6
に切り替えようとするが、python3.6が見つからないので、追加してやる必要がある。
インタープリターの追加方法
インタープリターが表示してあるボックス横のプルダウンメニューで全て表示を押下する。
すると、選択可能なpyhthonインタープリターの一覧が表示される。もしも、選択したいpythonのバージョンがない場合は、
「+」ボタンを押して追加する。
筆者の場合は下記のpython3.6.5/bin/のフォルダを選択し、その中からpython3.6を選択してOKボタンを押下すると、
環境設定ダイアログのOKボタンが押下できるようになった。ちなみに間違ったファイルを選択すると、エラー表示になるので、地道に探す。
/Users/username/.pyenv/versions/3.6.5/bin/python3.6
環境設定ダイアログでOKを押したら、処理が始まって、再び環境設定を開くと、pythonインタープリターの選択肢が増えていた。
これで、ようやくpython3.6.5バージョンとプロジェクトが紐づけられるようになった。
慣れると簡単だけどね。最初は戸惑う。
まとめ
Pycharmでpythonインタープリターを追加して、選択する方法を記述した。
ちなみに、pyenvをインストールしておくと、paythonのいろいろなバージョンを管理するのに便利だが、
初心者のうちは、どのファイルがどこに保存されて血て、何の役目をしているのかもチンプンカンプンだと思う。
でも、少しずつでも学習していけば、経験を通してなんとなくわかってくるので、諦めないでお互いに学習しましょう!