け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●MacBook Air Linux 環境構築

 2022.06.12

 MacBook Airには Appleが開発した M1 CPUが使用されています。
 この M1 CPU性能は intel core i7と同等です
 高性能にもかかわらず発熱が少なく、Fanが無いのです。
 このため電池も長持ちします。

 M1 Macでは miniforge3を installして condaを使用するしかない様です。
 M1 Macには、x86_64 モードと arm64モードがあります。
  ・x86_64: intel   CPU  intel 互換 mode
  ・arm64:  apple M1 CPU  arm64 M1 mode
 homebrew, pyenvで pythonを installすると動かない。
 Miniforge で tensorflow-macosを install する。

削除順序 (知らずにSetUpしたもの)
 1. 仮装環境の local指定を削除する。   $ pyenv local --unset
 2. 他の Folderの global 設定も解除。   $ pyenv global --unset
 3. .zshrc に入れた PATH CommentOut
 4. python3.7.13 python3.8.13 python3.9.11 python3.10.3 uninstall
 5. pyenv uninstall          ・・・pyenv 使えない
 6. homebrew uninstall           ここまでしなくても良い?
 7. miniforge install          ・・・今のところ M1 Mac はこれのみ
 8. object_detection_API models install
 9. object_detection_tools install
 10. object_detection_tools 設定作業

 homebrew自体は uninstallする必要は無い様です。


 MacBook Air
macbook



【M1 Mac Book 環境】
 Mac OS Monterey       Ver 12.4
 uname -a          Darwin Kernel Version 21.5.0 arm64
 python -V          python 3.8.13 (system)
 miniforge          conda ver.4.12.0
 pip show tensorflow
  tensorflow 0.1a2     ・・・M1 Mac 用
  tensorflow 2.7.0  ⇒  ・・・tensorflow_io ver=0.22.0
                        ver=0.23.0
                        Ver=0.23.1
 tensorflow依存File
 absl-py astunparse flatbuffers gast google-pasta grpcio h5py keras keras-preprocessing numpy opt-einsum protobuf six tensorboard tensorflow-estimator termcolor typing-extensions wrapt tf-models-official

 conda list 側
 tensorflow 2.4.0rc0 ⇒  ・・・対応する tensorflow_io ver 0.17.0

【環境切替え】
 Miniforge install 後は condaで切替え
 (base)$ conda create py38     ・・・仮想環境 py38 Folder作成
 /Users/「ユーザー名」/minihorge3/envs/py38   ・・・ここにできた。

 (base)$             ・・・miniforge環境に居る
 (base)$ conda deactivate     ・・・miniforgeから出る
 $               ・・・default 環境
 $ conda activate        ・・・再度 miniforgeに入る
 (base)$
 (base)$ conda activate py38   ・・・py38 Folder に切替
 (py38)$             ・・・仮装環境 py38に入る


【SSHの設定】
 M1 Macから RasPiに接続するために SSHの設定をします。
 $ cd /etc/ssh
 $ sudo nano ssh_config
 port 22
 AddressFamily   any
 #ListenAddress   0.0.0.0
 PasswordAuthentication   yes
 ctl+Oで書き込み ctl+Xで終了



【SSHで MacBookから RasPiに接続】
 MacBookから RasPiに、SSHで接続します。
 MacBookの termを起動しておき、SSH commandで接続します。
 $ ssh 「ユーザー名」@「RasPi address」 -p 「port番号」
 接続すると接続可否を聞かれるので「yes」を入力する。
 その後 passwordを要求されるので keyinします。
 例
 $ ssh pi@192.168.1.11 -p 22
  接続可否 yes/no : yes
  password : xxxx
 pi@raspi$:               ・・・・ここからRasPiに接続
 pi@raspi$:
 pi@raspi$:
 pi@raspi$: exit             ・・・・接続終了

 接続時に下記の Errorが出る場合。
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 @ WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED @
 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

 これは RasPi側の SSDの入れ替えや、再installを行った場合に発生します。
 MacBookで下記 commandを入力すれば解決します。

 $ ssh-keygen -R '192.168.1.11'
  一度も接続した事がなければ接続可否を聞かれるので「yes」を入力します。
 $ password: xxxx
  RasPiの passwordを入力すれば接続できる様になります。


【ZEN TermLiteで MacBookから RasPiに接続】
 ZEN TermLiteに raspberryPiの IP Addressを設定すれば Termを使用して
 Remote接続が可能になります。




【condaとpipを混在させる危険】
 miniforgeを使用すると、conda command と pipと混在させる事になり、
 installする Appに重複の危険が出てきます。
 混在は Linux環境の破壊にもつながります。

 混在の危険を説明したサイト ⇒ まぜるな危険

 重複検出 Tool        ⇒ python パッケージの依存関係を調べる

 検出用 Toolを pipで取得します。
 $ pip install pipdeptree
 取得したら早速実行して重複の有無を調べてみます。
 $ pipdeptree
 conda pipの両方で installした packageの warningが表示される。



 MacBook Airの機器仕様はこちら ⇒ MacBook Air機器仕様


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan