Raspberry Piのpyenv
2019年2月15日 - 未分類
Raspberry Piのpyenvでハマったことがあるので、注意点を書いておきます。一番、困ったことは、pyenvで3.5系のpythonをインストールすると、numpyからエラーが出ることでした。いろいろ調べて、以下のような方法で解決しました。
pyenv numpyエラー解決方法
エラー内容
Original error was: libf77blas.so.3: cannot open shared object file: No such file or directory
対策
sudo apt install libatlas-base-dev
エラー内容
mtrand.cpython-35m-arm-linux-gnueabihf.so: undefined symbol: PyFPE_jbuf
対策
export PYTHON_CONFIGURE_OPTS="--enable-ipv6\
--enable-unicode=ucs4\
--enable-shared\
--with-dbmliborder=bdb:gdbm\
--with-system-expat\
--with-system-ffi\
--with-fpectl"
上記を.profileに追記しておくと良いでしょう。–with-fpectl が重要みたい。pyenvで入れたpythonをuninstallしてからpythonを入れ直す。
$pyenv install -f 3.5.5
$pyenv virtualenv 3.5.5 p355
$source activate p355
$pip install numpy
$python
> import numpy
pyenvを解除する方法
$pyenv global system
$ python -V
Python 2.7.13
$ python3 -V
Python 3.5.3
フォルダー毎に、使うpythonのバージョンを自動切り替え
$pyenv virtualenv 3.5.6 p356
$mkdir python356
$cd python356
$pyenv local p356
これで、python356フォルダーに入るたびに、pythonのバージョンが切り替わる。ROSやニューラルネットでは、pythonのバージョン依存が厳しいので、pyenvは不可欠ですね。
opencvを使う
/usr/local/lib/python3.5/dist-packages/cv2.soをpyenvで管理しているlibに追加すると使える。
(python356) $ cp /usr/local/lib/python3.5/dist-packages/cv2.so /home/pi/.pyenv/versions/python356/lib/python3.5/site-packages/