Vscode プラグイン

Vscode プラグイン

https://yurupro.cloud/767/
を参考に
Python 開発関連を入れる

プラグインの入れ方は
https://blog-and-destroy.com/21376
を参考に

indent-rainbow
でインデントの色分け

ZenKaku
で全角を色でわかるようにする

Python Indent
でpython の自動インデント

TabNine
で予測変換

Python Docstring Generator

関数やクラス用のコメントのフォーマットを自動作成

Pylance

設定で、python.analysis.typeCheckingModeをbasicまたはstrictに設定すると型チェックを利用できる

Auto Rename Tag

開始タグと終了タグの修正が連動するようになる

Highlight Matching Tag

開始と終了タグにアンダーラインが引かれる

M1 Mac 開発環境作成

M1 Mac 開発環境作成

Viscose インストール

Python 開発環境

Jupiter notebook

Git
を入れる

Udemy などを参考に入れていく

まず home-brew が必要
https://www.teamxeppet.com/macbook-m1-homebrew-install/
を参考にインストール

Command + スペース

Spotlight検索を開いて
ターミナルと入力し

ターミナルを開き

でインストール

インストール後にパスを通す必要があるので

1
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/snowpool/.zprofile
1
brew -v

でバージョンを確認

1
Homebrew 3.3.12

M1 Mac環境にPython3をインストールする方法

を参考に

pyenv

Python3 をインストール

1
2
brew install pyenv
pyenv -v

でバージョンが出ればok

次に使用しているシェルを確認

1
env | grep SHELL

を実行し

1
SHELL=/bin/zsh

となったら

~/.zshrc を編集することになる

シェルの違いについては
MacにPythonをインストールする3つの方法!それぞれの利点と手順を紹介

を参考に

最新版のVimをインストールする方法【Mac】
を参考に

1
brew install vim


Vim をインストール

次に pyenv のパスを設定

1
2
3
4
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/shims:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc
1
pyenv install 3.8.12


Python3.8.12 をインストール

1
pyenv global 3.8.12

で使用するpython のバージョンを指定

次に
Python – Jupyter NotebookをMac M1 搭載機にインストールする
を参考に

Pip3 で Jupiter notebook をインストールする

1
pip3 install --upgrade pip

で最初に pip をアップデートして最新にしておく

1
sudo -H pip3 install jupyter

でインストールしたけど

1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

と最後にエラーが出た

1
pip3 install jupyter

を実行したら特にエラーは出なかった

とりあえずインストールはできたので

1
jupyter notebook

で起動

これで動作確認できたので
次に git のインストール

MacにGitをインストールする

を参考に
Git で画像を扱えるように

1
2
brew install git
brew install git-lfs

を実行する

次に google chrome
これは
普通に検索してダウンロードするだけでok

ラズパイ4のセットアップ

ラズパイ4のセットアップ

半導体不足のためほぼ手に入らない状態だったので
KSY でラズパイ4の教材セットのものを購入

すでにOSの書き込みはされているので
ディスプレイとキーボード、マウスなどを用意すれば
すぐに起動できる

今回は
bluetooth キーボードを使用したが
初期設定はマウスだけでもできる

パスワード入力などではキーボードが必要になる

今回は
Anker の bluetooth キーボードを使用したが
ペアリングや日本語入力で手間取った

ペアリングは
Fn + z キーの長押しで行い

日本語変換と英語の切り替えは
スペース + Control で行う

とりあえずインストールができたら端末を起動し

1
sudo raspi-config

を実行

Interfacing Options を Select

I2 SSH
をクリックし

はい
をクリック

これでSSHが有効になるので

ここから後は ubuntu から操作できる

なお

1
2
3
Warning: Permanently added '192.168.1.48' (ECDSA) to the list of known hosts.
Received disconnect from 192.168.1.48 port 22:2: Too many authentication failures
packet_write_wait: Connection to 192.168.1.48 port 22: Broken pipe

となったときには

1
ssh -o IdentitiesOnly=yes pi@192.168.1.48

とすることで
接続できる

今回はUSBカメラを使用する

ロジクールLogicool C270n

次に公開鍵認証にするので
Ubuntu で ssh-keygenコマンドで作成

-t で暗号形式を rsa
-b で4096ビットに指定
なおデフォルトでは2048ビット

1
2
cd .ssh
ssh-keygen -t rsa -b 4096

で作成

1
Enter file in which to save the key (/home/snowpool/.ssh/id_rsa):

となったらファイル名を入力

今回は raspi4
としておく

パスフレーズは省略するので

1
Enter passphrase (empty for no passphrase):

1
Enter same passphrase again:


Enter にすればパスフレーズなしとなる

次に公開鍵の登録

これは
ssh-copy-id コマンドを使う

なお接続するラズパイ4のIPは
Android ならFing で調べることが可能

1
scp -o IdentitiesOnly=yes .ssh/raspi4.pub pi@192.168.1.48:/home/pi/

で作成したファイルをコピー

次に
ラズパイにログイン

1
2
3
cat raspi4.pub >> .ssh/authorized_keys
chmod 700 .ssh/
chmod 600 .ssh/authorized_keys
1
sudo apt install vim


vim をインストール

1
sudo vim /etc/ssh/sshd_config

で設定ファイルを開き

パスワード認証を禁止

1
2
3
4
PermitEmptyPasswords no
PasswordAuthentication no
 
AuthorizedKeyFile .ssh/authorized_keys

を設定

1
sudo /usr/sbin/sshd -t

で設定の確認

1
sudo /etc/init.d/ssh restart


ssh の再起動

これで

1
ssh pi@192.168.1.48

でログインが可能になる

次に opencv のインストール

1
2
3
sudo apt update -y
sudo apt upgrade -y
sudo apt autoremove -y

でリポジトリ更新とアップデート
そして不要なパッケージの削除

次に opencv に必要なライブラリをインストール

1
2
3
sudo apt install -y libhdf5-103
sudo apt install -y libatlas-base-dev
sudo apt install -y libjasper-dev

しかし

1
sudo apt install -y libqt4-test

を実行したところ

1
E: パッケージ libqt4-test が見つかりません

となる

python : pip install OpenCVでRaspbianでこのエラーが発生するのはなぜですか?2021-12-27 06:48

によれば
Qt4はもうパッケージ化されていない
とのこと

このため
Linuxでdebパッケージをインストールする方法

を見ながら

1
2
wget http://ftp.de.debian.org/debian/pool/main/q/qt4-x11/libqt4-test_4.8.7+dfsg-18+deb10u1_arm64.deb
sudo dpkg -i libqt4-test_4.8.7+dfsg-18+deb10u1_arm64.deb

としたが

パッケージアーキテクチャ (arm64) がシステム (armhf) と一致しません
処理中にエラーが発生しました:

となるため

1
2
wget http://ftp.us.debian.org/debian/pool/main/q/qt4-x11/libqt4-test_4.8.7+dfsg-18+deb10u1_armhf.deb
sudo dpkg -i libqt4-test_4.8.7+dfsg-18+deb10u1_armhf.deb

としたが

1
2
3
4
5
6
7
8
9
dpkg: 依存関係の問題により libqt4-test:armhf の設定ができません:
 libqt4-test:armhf は以下に依存 (depends) します: libqtcore4 (= 4:4.8.7+dfsg-18+deb10u1) ...しかし:
  パッケージ libqtcore4 はまだインストールされていません。
 
dpkg: パッケージ libqt4-test:armhf の処理中にエラーが発生しました (--install):
 依存関係の問題 - 設定を見送ります
libc-bin (2.31-13+rpt2+rpi1+deb11u2) のトリガを処理しています ...
処理中にエラーが発生しました:
 libqt4-test:armhf

となってしまう

きにせずそのまま

1
sudo pip install opencv-python

としたら
インストールできた

1
sudo python3 -m pip install pip --upgrade


pip もアップデートしておく

次に仮想環境を構築するツール
virtualenv

virtualenvwrapper
をインストール

1
sudo pip3 install virtualenv

を実行すると
インストールは成功するが

1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

となる

意味は

警告:「root」ユーザーとしてpipを実行すると、権限が破損し、システムパッケージマネージャーとの動作が競合する可能性があります。代わりに仮想環境を使用することをお勧めします
とのこと

1
pip install virtualenvwrapper

でインストールすると

1
2
WARNING: The script virtualenv-clone is installed in '/home/pi/.local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

とでてくる

これは
.bashrc へ設定追加が必要

virtualenvとvirtualenvwrapperを使う

を参考に

whichコマンドを使って、virtualenvwrapper.shの場所を探す

1
which virtualenvwrapper.sh

結果は

1
/home/pi/.local/bin/virtualenvwrapper.sh

だったので

1
vim .bashrc

でファイルを開き
最終行に

1
2
3
4
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /home/pi/.local/bin/virtualenvwrapper.sh #ここはwhichコマンドの結果に変えてください。
fi

を追記

1
source .bashrc

で有効化

しかし
mkvirtualenv コマンドが見つからないので
再度設定を変更

Raspberry Pi で virtualenv のインストール

を参考に

追記部分の

1
2
3
4
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=$HOME/.virtualenvs
    source /home/pi/.local/bin/virtualenvwrapper.sh #ここはwhichコマンドの結果に変えてください。
fi

を削除し

代わりに

1
2
3
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /home/pi/.local/bin/virtualenvwrapper.sh

を追記

source のパスは

1
which virtualenvwrapper.sh

のものを使用

これで

1
source .bashrc

を実行すると
mkvirtualenv コマンドが使えるようになる

このコマンドの詳細については
コマンドリファレンス

を参考に