🚀

ラズパイに別バージョンのPythonを入れようとしてつまずきまくった話

2023/02/15に公開

はじめに

タイトルの通りですがRaspberry Piに新しいバージョンのPythonをインストールしようとして死ぬほどつまずいたのでメモとして残しておきます

環境

  • Raspberry Pi Full Production Board
    • later model B
  • Linux rasberrypi 5.15.61+
  • Python
    • 入っているバージョン 3.9.2
    • 入れたいバージョン 3.10.9

問題

Pythonのインストール自体は多くの記事にまとめられているような以下の手順で成功します
https://qiita.com/hiratarich/items/51f952ec2591fbf0d93d

が、pip install ~~で大量にエラーが発生します

問題1

pip install ~~時に以下のエラーが出ます

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

pypi.orgなどに接続できていないエラーのようです

Trustedリストにpypi.orgを追加する
libssl-devをインストールする
など、調べるといろいろな対策が出てくるのですが効果があったのは以下だけでした
https://qiita.com/satsukiya/items/581ffdc6f4dcef650835
opensslを個別にインストール
→Pythonの設定ファイル(Modules/Setup.dist)でインストールしたフォルダを指定
→Pythonの再ビルド&再インストール

Pythonの再ビルド&再インストールは結構時間がかかるので、SSLエラーが起こるのが分かっていればこの対策を先にやっておくのがいいんでしょうけど...

問題2

問題1が解決すると次は
pip install ~~時に以下のエラーが出ます

ModuleNotFoundError: No module named '_ctypes'

以下の記事によるとlibffi-devを入れればよいみたいです
https://blog.goo.ne.jp/dak-ikd/e/ae172dc7afc8700cc1244ccc96e0a75d

sudo apt-get install libffi-dev

してからまたPythonの再ビルド&再インストールを行います...長い......

解決

ここまでしてようやくpip install ~~が使えるようになりました
調べてもそんなに多くの情報が出てこなくて手こずりました
HWが古かったせいなんですかね?

Discussion