keiko-502
2025年3月25日 11時01分
お世話になります。
Armadillo-IoT G3について,開発,検証を行っているのですが,従来のG3でできたことが
できなくなったため,ご相談させていただければ幸いです。
現在開発していたG3の他に,新規にG3を購入し,そのセットアップ作業を実施しているのですが,
pip3コマンドを使用し,pythonライブラリのrequests,pyserial,pandasをインストールしようとしたのですが,
pyserial,pandasのインストールができず,ほかのG3で作成したソフトウェアが動作できません。
なお,requestsについては,「apt-get install python3-requests」でインストールできたのですが,ほかの2つについては
同様のコマンドでインストールできませんでした。
原因,対策をご教授いただければと思いますのでよろしくお願いいたします。
以下に,製品仕様を記載します。
==========
製品型番:AGX3140
Debian/ABOSバージョン:Debian GNU/Linux 12
カーネルバージョン:6.1.112-at11
3G/LTE モジュール情報 (Debianのみ):Quectel EC25
その他:
==========
コメント
keiko-502
at_shota.shimoyama
keiko-502 様
すみません、書き忘れておりましたが、Debianのバージョンは大きく関係します。
Debian GNU/Linux 12(bookworm)の場合だと、aptでインストールできるpip(python3-pip)のバージョンが23.0のみですが、
Debian GNU/Linux 10(buster)の場合だと18.1になるので、Debian GNU/Linux 10(buster)であればこの問題は発生しません。
ですので、試作機の追加時には buster をインストール、量産時にはbusterでイメージを作成いただければ問題ありません。
新規に購入したG3ではDebian GNU/Linux 12(bookworm)がインストールされていると思いますが、
開発していた方のG3ではどのバージョンのDebianがインストールされているかご確認いただけますでしょうか?
お手数おかけしますが、よろしくお願いします。
at_shota.shimoyama
2025年3月25日 12時03分
アットマークテクノの下山です。
pip3コマンドでインストールしようとしたときに、
error: externally-managed-environment
というエラーが表示されていないでしょうか?もしそうであれば、考えられる原因は以下となります。
pip3はversion 23.0から、OSがaptなどでパッケージ管理を行っている場合には、それとの干渉を防ぐために
ただの
pip3 install xxx
ではインストールできないようになっています。対処方法はエラー文に記載されているとおりで、いくつかの方法があります。
最も簡単な方法は、
のように、
--break-system-packages
オプションを付けることです。これにより、aptによるパッケージ管理に破壊的な影響のリスクはあるものの、
従来どおりインストールすることができます。
安全な対処方法としては、
Pythonのvenv環境を用意し、その中でパッケージのインストール&Pythonのスクリプト実行を行う
という方法があります。
また、requests,pyserial,pandasであればaptでもインストールできます(インストールできるpandasのバージョンはpipの場合よりかなり古いですが)
エラーの詳細な説明やより詳しい対処方法についてはエラー文の末尾の方にも書かれている「PEP 668」をインターネット上で検索することで様々なサイトでご確認いただけます。
よろしくお願いします。