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/

 

Translate »