Python3 で tagtool.py を実行する[プログラミング]
(2019-08-17 03:11:35) by shinoda


< ページ移動: 1 2 >

Raspberry Pi 3 と Sony の RC-S380 というカードリーダーの組み合わせで FeliCa カードを読みたいのだが、けっこう同じことをしている人は多くてネット上に情報はたくさんある。

そこで、「RaspberryPiで!SONYのPaSoRi(RC-S380)で(NFC)Felica情報を読み取る!(KOKENSHAの技術ブログ)」という記事など参考に一応セットアップしてみたのだが、最後にサンプルプログラムを実行すると、

pi@raspberrypi:~/test/pasori/nfcpy/examples $ sudo python tagtool.py
This script requires Python 3

と、「Python 3 のプログラムやで」と怒られる。
今回の OS(Raspbian GNU/Linux 10)には、Python 2.7.16 と Python 3.7.3 が共存している。

そこで「じゃあ」と、Python 3 で実行すると、

pi@raspberrypi:~/test/pasori/nfcpy/examples $ sudo python3 tagtool.py
Traceback (most recent call last):
  File "tagtool.py", line 29, in <module>
    import ndef
ModuleNotFoundError: No module named 'ndef'

ndef モジュールが無いと怒られる。

<画像:20190816_raspbian1.jpg>
どうすりゃいいの???(^^;

しばし考えたが、ndef モジュールを Python 3 用にセットアップするのが一番近道だと思ったので、以下のとおり対応。

・RC-S380 が認識されているか確認(ま、念の為)

pi@raspberrypi:~ $ lsusb|grep Sony
Bus 001 Device 004: ID 054c:06c3 Sony Corp. RC-S380

・nfcpyは導入されているか?(一緒に導入される libusb1 を見てみる)

pi@raspberrypi:~ $ pip3 list|grep usb
pi@raspberrypi:~ $ pip list|grep usb
libusb1           1.7.1

Python 2.7.16 の方には入っているのに、Python 3.7.3 の方には入ってない。
Python 3.7.3 の pip(Python のサードパーティー製パッケージを管理するためのツール)を使ってインストールが必要。ちなみに、Python 3.7.3 用の pip は pip3 という名でインストールされている。

・Python 3.7.3 の方にも nfcpy を導入

< ページ移動: 1 2 >


コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る

Powered by
MT4i 3.0.8