本来Chainerは pip install chainer
のコマンドのみで簡単に始められるはずなのですが、
初めで躓いたのでその原因を紹介します。
問題点
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6 /Users/ユーザー名/PycharmProjects/Chainer/test.py
Traceback (most recent call last):
File "/Users/ユーザー名/PycharmProjects/Chainer/test.py", line 2, in <module>
import chainer
ImportError: No module named chainer
Process finished with exit code 1
import numpy as np
import chainer
x1 = chainer.Variable(np.array([1]).astype(np.float32))
x2 = chainer.Variable(np.array([2]).astype(np.float32))
x3 = chainer.Variable(np.array([3]).astype(np.float32))
z = (x1 - 2 * x2 - 1)**2 + (x2 * x3 - 1)**2 + 1
print(z)
python version 3.6.3
pip install chainer
済み
原因1つ目
Pythonを参照するPATHが間違っていた。
>>> pyenv versions
system
* 3.6.3 (set by /user/local/...)
>>> python -V
Python 2.7.5
pyenvでもデフォルトのPython2.x系ではなく、3.6.3を指定されていますが、
括弧の中の参照しているpathに問題がありました。 (誤っていた頃のpathを忘れてしまいましたが、 .pyenv
を参照していなかったら問題です。)
解決策
>>> vim .zshrc
下記3行を追加
export PYENV_ROOT=“$HOME/.pyenv”
export PATH=“$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”
自分の環境のshellがzeshなので、.zshrc
を編集します。
$HOME
pathの直下に .pyenv
を指定してください。
Pythonのバージョンは.pyenv下で管理しているからです。
>>> pyenv versions
system
* 3.6.3 (set by /Users/ユーザー名/.pyenv/version)
>>> python -V
Python 3.6.3
正しく.pyenv下のpathを参照されていて、これで問題なく実行出来る。
しかし上記のエラーコードが消えない…
原因2つ目
問題の1行目
/System/Library/Frameworks/Python.framework/Versions/2.6/bin/python2.6
ここのpathが間違っている。すなわち自分の今使用している統合開発環境PyCharmの参照しているpythonのpathが誤っている。
解決策
PyCharm > Preferences(⌘,) > Project Interpreter
参照しているpathを .pyenv
下のpythonに指定してあげる。
これで上記のエラーが消え問題なく実行できた!!
まとめ
今回の問題を経て、Pythonのインストール自体は簡単であるが、
PATHの指定などどこにインストールしているのかや、pyenvの役割等を理解せずに進めてしまうと問題に陥ってしまうため、
プログラミング初心者には少々難しいのかなと感じました。