python2、python3混在のラズパイへのモジュールインストール
python2とpython3が混在するラズパイへのモジュールインストールについて
新規のmicroSDカードにRaspbian をインストールして、python3環境で動作するpythonプログラムに種々のモジュールをインストールする方法
python3でAI自然会話ロボットを開発しています。
python3プログラムで利用するモジュールのインストール方法
(1)モジュールインストール時の注意
sudo pip3 install XXXXX(モジュール名)とする。
pip install XXXXX(モジュール名)とすると、
python2の環境へインストールされるのでpython3環境で 実効すると、
モジュールのインストールエラー(ImportError)がでる。
当該プログラムを実効すると、以下のようなエラーが出る。
以下は、pip install beautifulsoup4 として、beautifulsoup4モジュールをインストールした場合である。
File “/usr/local/lib/python2.7/dist-packages/bs4/__init__.py”, line 53 ‘You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'<>’You need to convert the code, either by installing it (python setup.py install
) or by running 2to3 (2to3 -w bs4
).’ ^ SyntaxError: invalid syntax
そこで、 以下は、Janomeのインストール時のLXTerminalの内容 :
pi@raspberrypi:~/Ptna $ sudo pip3 install Janome
Collecting Janome Downloading https://www.piwheels.hostedpi.com/simple/janome/Janome-0.3.6-py3-none-any.whl (20.7MB) 100% |████████████████████████████████| 20.7MB 14kB/s
Installing collected packages: Janome
Successfully installed Janome-0.3.6
以下のように、「/usr/local/lib/python3.5/dist-packages」の環境にインストールされている。
pi@raspberrypi:~/Ptna $ pip3 show janome Name: Janome Version: 0.3.6 Summary: Japanese morphological analysis engine. Home-page: http://mocobeta.github.io/janome/ Author: Tomoko Uchida Author-email: tomoko.uchida.1111@gmail.com License: AL2
Location: /usr/local/lib/python3.5/dist-packages
Requires:
参考: pip3でなく、pipでインストールした場合 (/usr/local/lib/python2.7/dist-packages)というpython2の環境にインストールされる。
pi@raspberrypi:~ $ sudo pip install Janome
Collecting Janome Downloading Janome-0.3.6.tar.gz (20.0MB) 100% |████████████████████████████████| 20.0MB 13kB/s Building wheels for collected packages: Janome Running setup.py bdist_wheel for Janome … done Stored in directory: /root/.cache/pip/wheels/06/3a/df/8a8ca99633cc64d7cb46f0684230d6e9b4b93e581d66709653
Successfully built Janome Installing collected packages: Janome Successfully installed Janome-0.3.6
pi@raspberrypi:~ $ sudo pip install requests
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages
pi@raspberrypi:~ $ pip show janome
Name: Janome Version: 0.3.6
Summary: Japanese morphological analysis engine.
Home-page: http://mocobeta.github.io/janome/
Author: Tomoko Uchida
Author-email: tomoko.uchida.1111@gmail.com
License: AL2
Location: /usr/local/lib/python2.7/dist-packages
Requires:
pi@raspberrypi:~ $ sudo pip install beautifulsoup4
Collecting beautifulsoup4 Downloading beautifulsoup4-4.6.0-py2-none-any.whl (86kB) 100% |████████████████████████████████| 92kB 1.3MB/s Installing collected packages: beautifulsoup4
Successfully installed beautifulsoup4-4.6.0
pi@raspberrypi:~ $ pip show beautifulsoup4
Name: beautifulsoup4
Version: 4.6.0
Summary: Screen-scraping library Home-page: http://www.crummy.com/software/BeautifulSoup/bs4/
Author: Leonard Richardson
Author-email: leonardr@segfault.org
License: MIT
Location: /usr/local/lib/python2.7/dist-packages
Requires:
pi@raspberrypi:~ $
このようにインストールロケーションが、
Location: /usr/local/lib/python2.7/dist-packages
となる。
結論:
python2とpython3が混在するラズパイで、python3環境でプログラムを実行する場合のモジュールインストールは、
$ sudo pip3 install XXXXX
とする。XXXXXは、モジュール名
pipでなくpip3とすること。