【Python】PKG[keyboard]でImportError

スポンサーリンク

久しぶりにRaspberryPi(以下、ラズパイ)で遊んでた。
開発環境(IDE)は、【Thonny】を使用している。
【無限ループを作って、指定のキーボードが押されたらループを抜ける】処理を作りたかったわけ。。。
その時に使ったパッケージ【keyboard】でImportErrorが出て解決するまでのお話。

状況の整理

冒頭に述べているけど、開発状況を整理します。

■ハード  :Raspberry Pi
■OS   :Raspberry Pi OS
■開発言語 :Python 3.9.2
■開発環境 :Thonny
■パッケージ:keyboard

どんなエラーが出たのか?[ImportError]

出たエラーは、下記のエラーです。

ImportError: You mustbe root to use this library on linux.

正直、調べたサンプル通りにしたのに。。。と思いながら、エラーを翻訳する。
Linux でこのライブラリを使用するには、root である必要があります。

・・・・
なるほど、【管理者権限(rootユーザー)で実行しないといけないよ】って書いてあるんだな!!

Thonnyを管理者権限(root)で実行する

エラー内容が分かったので、次は「Thonnyをrootで起動」させようと思います。
まずは、【Terminal(ターミナル)】を起動してください。
そして、下記コマンドを実行します。

sudo␣thonny␣(pythonファイルパス)

すると、いつも通りにThonnyが起動します。
そして、先ほどのpythonプログラムを実行してみます。

実行する事が出来ました。

まとめ

ラズパイでpythonプログラムを作る時は、標準で入っている開発環境である【Thonny】を選択する人は多い事でしょう。
ラズパイのメニューからThonnyを起動した場合、ユーザーとして起動している為、root権限が必要なアクセスが必要なパッケージの場合、エラーが出てしまいます
分かってしまえば、簡単な対応方法なのかもしれません。
root権限を気にしないといけないと思うと少し不便ですね。。。
使えない事はないですが、自分はパッケージ[keyboard]を使う事を諦めました
代わりに【pynput】というパッケージを使って対応しました。
pynputの使い方については、また別のタイミングで!

コメント

タイトルとURLをコピーしました