見出し画像

よりそいひまりちゃんを作る-環境構築編

以前作ったどこでもひまり。

ていうか、続き書いてなかった。
RSSでニュース見れたり、自分の会社のメール受信件数見れたり、割と便利でした。
自分がほしいものを作っているので当然ですが。
ただ、横型なのが地味に面倒だった。
なので、縦型で作り直そうかと思いました。

最終的にこんな感じでした

改めて冥鳴ひまりの立ち絵を探していたら、めっちゃかわいいのを見つけた。

ということで、今回はこちらの素材をお借りして、アプリを作っていこうと思います。
立ち絵素材だ!ひまりちゃん、と書いてあるので、アプリもひまりちゃんにしました。


最初に

環境は、Arch LinuxとPython。
Pythonは入っている前提。
昔自分で書いた記事を参考にしたけど、なんか全然違った…
今回のArchは、ほんとに最小構成で何も入れていなかったのもある。
なので、事前に以下は入れて置くほうがスムーズ。

sudo pacman -S tk zip unzip

Python環境構築

Arch Linux入れ直していて、pyenvがなかったのでいれる。

sudo pacman -S pyenv

Python3.11.8をインストール。

pyenv install 3.11.8

こんなエラーが出る。

ModuleNotFoundError: No module named '_tkinter'

tkinter入ってないのか…あとで入れよう。
→あとで全部やり直すことになったので、tkは先にいれとかないといけないです。

sudo pacman -S tk

3.11自体は入ったっぽいので、一時的にPythonバージョンを変える。

pyenv shell 3.11.8

エラー出る。

pyenv: shell integration not enabled. Run `pyenv init' for instructions.

GPTに聞く。
こうして

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

こう。

source ~/.bashrc

これでPythonのバージョンが一時的に切り替わったので、仮想環境を作成するディレクトリに移動して、仮想環境を作成。

python -m venv venv

仮想環境アクティベイト

source venv/bin/activate

念の為、Pythonバージョンを確認

$ python --version
Python 3.11.8

pipアップグレード

pip install --upgrade pip

tkinterないはずなのでインストール
→事前にtk入れてたらいらないです。

pip install pytk

tkが入っているかの確認

python -m tkinter

エラー…
最初のほうにも書きましたが、3.11入れた後に、tk入れてもだめらしいので3.11をアンインストール…
そして、再度、3.11をインストールする。

pyenv uninstall 3.11.8
pyenv install 3.11.8

今度は、Tk関係のエラーもでんかった。
で、もう一度仮想環境作ったりしたら、ちゃんとWindowでました。
まぁ今回はスマホアプリなのでtkinter使わないけど。

前回こんな苦労したっけかな?
環境構築で一苦労

スマホアプリビルド環境構築

zipとunzipいれとく。
今回のArchは何も入れてないのでほんとなんもないな…

sudo pacman -S zip unzip

Javaのバージョン17をいれる。

sudo pacman -S jdk17-openjdk

切り替える。
てか今回は17しか入れてないのでいらない気もする。

sudo archlinux-java set java-11-openjdk

JAVAのバージョン確認

java --version
openjdk 17.0.18 2026-01-20
OpenJDK Runtime Environment (build 17.0.18+8)
OpenJDK 64-Bit Server VM (build 17.0.18+8, mixed mode, sharing)

kivy、buildozer、Cythonをインストールする。

pip install kivy buildozer Cython

buildozerの初期化

buildozer init

ここにbuildozer.specができたので、中身を変更する。

#(str) Source code where the main.py live
source.dir = ./src
フォルダ構成に応じて内容変更する

buildozer.specがあるディレクトリでビルドする。

buildozer -v android debug

なんかエラーが出る。
今回は、SDKやらがそもそもないとか。
ちょっといろいろエラー出過ぎたので覚えている範囲でメモ。

Android公式からコマンドラインツールをダウンロードする。

Linux版をダウンロード

これを解答してここらへんにいれたり。
~/.buildozer/android/platform/android-sdk/cmdline-tools/latest/

Cythonがあたらしすぎるので、さげて入れたり。

pip install "cython<3"

ということをして、ようやくビルドが通りました。
前回こんな苦労したっけ?
ビルドめっちゃ長かったし。

おまけ

環境構築とは直接関係ないですが、今回は土台となるアプリがあるので、環境をコピーして持ってくる。

必要なライブラリの一覧作成

まずは、元環境で使っているライブラリを一覧にする。

pip freeze > requirements.txt

フォルダコピー

土台アプリのフォルダをコピーして複製する。
cp -r himari_app himari_app2
でもいいし、GUIでフォルダコピーでもよい。

元の仮想環境削除

コピーしたフォルダのうち、venv(仮想環境フォルダ)は削除する。

仮想環境再作成

python -m venv venv
source venv/bin/activate

ライブラリインストール

元環境で作成したライブラリ一覧を使って、インストールする。

pip install -r requirements.txt

これで、基本的には、環境がコピーできます。
うまくいかないこともあるので、そのときは、エラーを見ながら対応する。

いいなと思ったら応援しよう!