Ubuntu22.04 VNCサーバー

Ubuntu22.04 VNCサーバー

クライアントとしてMacから接続なので
RealVNC を使う

最初にVNCで接続確認できたら
SSHトンネルで接続できるようにする

Ubuntu インストール時にGNOMEデスクトップが入っているので
https://ja.linux-console.net/?p=3414#gsc.tab=0
を参考に

VNC用のユーザ作成し
TigerVNC サーバーのインストールをする

とりあえずユーザ名snow作成してパスワード設定

sudo useradd -m -s /bin/bash snow
sudo passwd snow

次に作成したユーザをグループsudo に追加
これでroot権限が使える用になる

sudo usermod -aG sudo snow

次に作成したユーザに切り替え
Sudo su でroot権限になれるか確認

su - snow
sudo su

で root になれてるなら成功

これで一度ユーザを元に戻すdのえ
ctrl+ d を2回行ってログアウトしておく

元々のユーザに戻ったら
TigerVNC サーバーのインストール

sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-tools

次にVNCの初期化
これはvncユーザのアカウントで行うので

su - snow

で切り替える

そしてVNCサーバの初期化

vncserver

パスワードを設定するけど
8文字が最大なので注意

Would you like to enter a view-only password (y/n)? 


VNC サーバーまたはセッションを、表示のみの権限を持つ別のユーザーと共有
なので
N
にする

A view-only password is not used
/usr/bin/xauth:  file /home/snow/.Xauthority does not exist

New Xtigervnc server 'snowpool-Prime-Series:1 (snow)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/snow/.vnc/passwd :1 to connect to the VNC server.


=================== tail /home/snow/.vnc/snowpool-Prime-Series:5901.log ===================
Terminated
X connection to :1 broken (explicit kill or server shutdown).

Fri Sep 29 06:21:47 2023
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 38401... success!
===========================================================================================

Session startup via '/etc/X11/Xtigervnc-session' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
	tigervncserver -xstartup /usr/bin/xterm
The Xtigervnc server cleanly exited!
The X session cleanly exited!

となる

次にこのVNCを強制終了し
起動スクリプトの構成開始

一度ログアウトしていたので

vncserver -kill snowpool-Prime-Series:1 
vncserver: No matching VNC server running for this user!

現在動いていないみたいなので

vim ~/.vnc/xstartup

で設定ファイルを作成

#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &

として保存

chmod +x ~/.vnc/xstartup

で実行権限付与

次に
VNC ユーザーを TigerVNC サーバー構成ファイルに追加して定義

sudo vim /etc/tigervnc/vncserver.users 


最終行に

:1=snow

を追記して保存

次にVNCサーバ起動

 sudo systemctl start snowpool-Prime-Series:1 service

で実行したが

Failed to start snowpool-Prime-Series:1.service: Unit snowpool-Prime-Series:1.service not found.
Failed to start service.service: Unit service.service not found.

となる

もしかしてx window systemがだめ?

とりあえずログを調べる

cd .vnc/
ls -lah

結果は

drwxr-xr-x 2 snow snow 4.0K  9月 30 05:53 .
drwxr-x--- 5 snow snow 4.0K  9月 30 05:53 ..
-rw------- 1 snow snow    8  9月 29 06:21 passwd
-rw-rw-r-- 1 snow snow 1022  9月 29 06:21 snowpool-Prime-Series:5901.log
-rwxrwxr-x 1 snow snow  243  9月 30 05:38 xstartup

となる

cat snowpool-Prime-Series\:5901.log

で中身を確認

Xvnc TigerVNC 1.12.0 - built 2022-03-25 17:06
Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12101003, X.Org


Fri Sep 29 06:21:46 2023
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
[mi] mieq: warning: overriding existing handler (nil) with 0x55648c8a9400 for event 2
[mi] mieq: warning: overriding existing handler (nil) with 0x55648c8a9400 for event 3
3NI3X0 New Xtigervnc server 'snowpool-Prime-Series:1 (snow)' on port 5901 for display :1.
3NI3X0 Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/snow/.vnc/passwd :1 to connect to the VNC server.
Terminated
X connection to :1 broken (explicit kill or server shutdown).

Fri Sep 29 06:21:47 2023
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 38401... success!

とりあえず
https://www.server-world.info/query?os=Ubuntu_22.04&p=desktop&f=1
を参考に

sudo apt -y install ubuntu-desktop task-gnome-desktop


GNOMEデスクトップ環境をインストール

tigervncserver -xstartup /usr/bin/gnome-session --geometry 800x600 -localhost no :1 

としたけどダメ

とりあえずユーザを通常のユーザに戻して

tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

を実行したらできた

https://ebi-works.com/mac-vnc/#outline__4_1
を参考に
Mac の場合
Finder から
移動 > サーバーに接続で
vnc://192.168.1.69:5901
で接続

しかし認証エラーとなってログイン画面は出るけど
ログインができない

本体から操作しようとしたが
画面が真っ黒で操作不能

一度

sudo reboot

で再起動し
本体でログインしてみると
操作ができるけど
今度はVNC接続ができない

とりあえずもう一回SSHでログインして

sudo reboot

で再起動

A X11 server is already running for display :1

で検索し
https://www.bigbang.mydns.jp/vnc-server-x.htm
によれば
VNCで接続した状態(ログアウトしたままの状態)で直接コンソール画面からログインしようとすると、真っ黒な画面のまま表示されません
 これを解消するには、VNC接続している画面でログアウトする必要がある
とのこと

一度再起動してから端末から

 tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

とすれば
接続でき
操作もできるようになった

ただし放置してロック画面になると
パスワード入力ができないため
現状では一度再起動して対処

FirefoxはなぜかVNCで起動できなかった
Libreoffice calcなどは問題なく使用可能

とりあえず

 tigervncserver -xstartup /usr/bin/gnome-session -geometry 800x600 -localhost no :1 

で起動し
Finderから
移動 > サーバーへ移動

vnc://192.168.1.69:5901
で接続

パスワードをVNCパスワードを入力すれば
VNCでgnomeデスクトップでログインできる

念の為使わない時にはログアウトしておけば
認証エラーのGUI画面にならずに済むし
自動的にVNCも停止する

Permission denied (publickey).の解決

snowpool@192.168.1.69: Permission denied (publickey).の解決

GithubへSSHでキーを登録するため

ssh-keygen -t ed25519 -C “メールアドレス”

でパスフレーズ付きで作成

前回ubuntu22.04 でキーを作成した時のログは

ssh-keygen -t ed25519 -C ""

多分キーを上書きしている

仕方ないので

ssh-keygen -t ed25519 -C "" -f ~/.ssh/ubuntu22


ファイル名を変えて再度鍵を生成する
これで

-t ed25519: キーペアのタイプをEd25519に指定します。

-C “”: キーペアに空のコメントを付加します。

-f ~/.ssh/ubuntu22: キーペアのファイル名と保存場所を指定します。
このオプションで、秘密キーが~/.ssh/ubuntu22に、
対応する公開キーが~/.ssh/ubuntu22.pubにそれぞれ保存されます。

となったので
次にubuntu22.04 へログインして一度SSHをパスワード接続できるようにする

しかし結果が変わらない
Mac側の設定を変更する

 vim .ssh/known_hosts    


Ubuntu22.04のIPアドレスを検索し削除

再度接続しようとしたが
失敗のためよく見たら
ssh_configを設定していた…
正解は sshd_config

これを編集しパスワード認証したら入れたので

ssh-copy-id -i ~/.ssh/ubuntu22.pub snowpool@192.168.1.69

あとは

 chmod 600 .ssh/ubuntu22    

で権限を変更

sudo vim /etc/ssh/sshd_config

で設定ファイルを開き
パスワード認証を許可しないようにして

sudo systemctl restart sshd.servic

でSSHD再起動

ssh -i .ssh/ubuntu22 snowpool@192.168.1.69  

というように鍵を指定してSSHで接続することで
無事に解決

Ubuntu22.04 で ラズパイゼロWからのダイレクト TCP ストリーミングでの配信されている画像を OpenCV で再生 その2

Ubuntu22.04 で ラズパイゼロWからのダイレクト TCP ストリーミングでの配信されている画像を OpenCV で再生 その2

今回は今後に必要なパッケージ関連のインストール

https://pytorch.org/get-started/locally/

PyTorch Build Stable
Your OS Linux
Package pip
Language Python
Compute Platform CPU
を選択すると

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

が表示されるので
これを sudo をつけて実行する

sudo pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

これでインストール後に

python3 -c "import torch; print( torch.__version__ )"

2.0.1+cpu

というようにバージョンがでれば成功

次に機械学習フレームワークのChainerインストールを入れようとしたけど
GPUないので断念

次にpythonパッケージ関連

sudo apt -y update
sudo apt -y install libgeographic-dev gdal-bin gdal-data libgdal-dev

sudo apt -y install python3-numpy python3-scipy python3-h5py python3-sklearn python3-skimage python3-seaborn python3-pandas python3-pil cython3 python3-pytest python3-yaml cython3 python3-statsmodels python3-plotly python3-sympy python3-csvkit python3-docopt python3-pyproj python3-flake8 python3-protobuf python3-bs4 python3-html5lib python3-rope python3-wrapt python3-cffi python3-wheel python3-six python3-sphinx python3-bottleneck python3-pygments python3-numexpr python3-xlrd python3-xlwt python3-lxml python3-graphviz python3-pydot python3-flask python3-django python3-redis python3-pylint-common python3-bz2file python3-opengl  python3-msgpack python3-mecab python3-matplotlib-venn python3-pygame python3-bottle python3-rtree python3-shapely python3-fiona python3-gdal python3-geopandas python3-geopy python3-geographiclib python3-requests

を実行したが

E: パッケージ python3-bz2file が見つかりません

となる

なので

sudo apt -y install python3-numpy python3-scipy python3-h5py python3-sklearn python3-skimage python3-seaborn python3-pandas python3-pil cython3 python3-pytest python3-yaml cython3 python3-statsmodels python3-plotly python3-sympy python3-csvkit python3-docopt python3-pyproj python3-flake8 python3-protobuf python3-bs4 python3-html5lib python3-rope python3-wrapt python3-cffi python3-wheel python3-six python3-sphinx python3-bottleneck python3-pygments python3-numexpr python3-xlrd python3-xlwt python3-lxml python3-graphviz python3-pydot python3-flask python3-django python3-redis python3-pylint-common python3-opengl  python3-msgpack python3-mecab python3-matplotlib-venn python3-pygame python3-bottle python3-rtree python3-shapely python3-fiona python3-gdal python3-geopandas python3-geopy python3-geographiclib python3-requests

で実行

その後

sudo pip3 install -U pandasql pyyaml bokeh pymc3 mkl mkl-include holoviews pandas-bokeh ggplot prettyplotlib pybrain3 firebase-admin googletrans google-cloud-vision gpyocr azure-cognitiveservices-vision-computervision gensim gloo scikit-video scikits.datasmooth scikits.example scikits.fitting scikits.optimization scikits.vectorplot zodb gdata pyr2 pycaret

を実行するが

Collecting gpyocr
  Downloading gpyocr-1.6.tar.gz (10 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [10 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-n3wh9blx/gpyocr_6b1e72dbc11046ffb50fbda9785e8f40/setup.py", line 3, in <module>
          from gpyocr import __version__
        File "/tmp/pip-install-n3wh9blx/gpyocr_6b1e72dbc11046ffb50fbda9785e8f40/gpyocr/__init__.py", line 9, in <module>
          from ._gpyocr import (
        File "/tmp/pip-install-n3wh9blx/gpyocr_6b1e72dbc11046ffb50fbda9785e8f40/gpyocr/_gpyocr.py", line 24, in <module>
          from google.cloud import vision
      ImportError: cannot import name 'vision' from 'google.cloud' (unknown location)
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

となる

とりあえず他のものをインストール

sudo pip3 install git+https://github.com/jrosebr1/imutils.git
python3 -c "import imutils; print(imutils.__version__)"

でバージョン確認

0.5.4
sudo pip3 install git+https://github.com/DinoTools/python-overpy.git
python3 -c "import overpy; print(overpy.__version__)"

でバージョン確認

0.6
sudo pip3 install git+https://github.com/ianare/exif-py.git
python3 -c "import exifread; print(exifread.__version__)"

でバージョン確認

3.1.0
sudo pip3 install git+https://github.com/mapado/haversine.git
sudo pip3 install git+https://github.com/Turbo87/utm.git

次に
folium, pyproj, rtree, shapely, GDAL, fiona, geopandas のインストール

sudo apt -y update
cd /usr/local
sudo rm -rf geopandas
sudo git clone https://github.com/geopandas/geopandas
cd geopandas
sudo python3 setup.py build
sudo python3 setup.py build

を実行すると

Failed to load config from /usr/local/geopandas/pyproject.toml: 'versioneer'
Try to load it from setup.cfg
running build

となる

それでも

sudo python3 setup.py install

を実行すると

Failed to load config from /usr/local/geopandas/pyproject.toml: 'versioneer'
Try to load it from setup.cfg
running install
/usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/usr/lib/python3/dist-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
creating geopandas.egg-info
writing geopandas.egg-info/PKG-INFO
writing dependency_links to geopandas.egg-info/dependency_links.txt
writing top-level names to geopandas.egg-info/top_level.txt
writing manifest file 'geopandas.egg-info/SOURCES.txt'
reading manifest file 'geopandas.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE.txt'
writing manifest file 'geopandas.egg-info/SOURCES.txt'
Failed to load config from /usr/local/geopandas/pyproject.toml: 'versioneer'
Try to load it from setup.cfg
installing library code to build/bdist.linux-x86_64/egg
running install_lib
warning: install_lib: 'build/lib' does not exist -- no Python modules to install

creating build
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying geopandas.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying geopandas.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying geopandas.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying geopandas.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/geopandas-0.14.0+1.g91d1889-py3.10.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing geopandas-0.14.0+1.g91d1889-py3.10.egg
Copying geopandas-0.14.0+1.g91d1889-py3.10.egg to /usr/local/lib/python3.10/dist-packages
Adding geopandas 0.14.0+1.g91d1889 to easy-install.pth file

Installed /usr/local/lib/python3.10/dist-packages/geopandas-0.14.0+1.g91d1889-py3.10.egg
Processing dependencies for geopandas==0.14.0+1.g91d1889
Finished processing dependencies for geopandas==0.14.0+1.g91d1889

となるのでインストールできているっぽい

sudo pip3 install -q git+https://github.com/python-visualization/folium.git

次にpyenv のインストール
既にインストール済み

念の為ライブラリ関連も入れておく予定だったが
インストール済みだった

udo apt -y install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

Ubuntu22.04 で ラズパイゼロWからのダイレクト TCP ストリーミングでの配信されている画像を OpenCV で再生 その1

Ubuntu22.04 で
ラズパイゼロWからのダイレクト TCP ストリーミングでの配信されている画像を
OpenCV
で再生する

VOICEVOX REST-APIを使えるようにする

とりあえずOpenCV から入れる

https://monobook.org/wiki/Ubuntu_22.04_LTSにVoiceVoxをインストールする
でvoiceboxを入れる

sudo apt install fuse libfuse2

を入れておく

https://voicevox.hiroshiba.jp
から
OS Linux
対応モード CPU
インストーラタイプをダウンロード

cd Downloads
scp VOICEVOX-CPU.Installer.0.14.7.Linux.sh snowpool@192.168.1.69:/home/snowpool/

でM1MacbookAir からscp で転送する

bash VOICEVOX-CPU.Installer.0.14.7.Linux.sh 

を実行したが

* curl コマンドが見つかりません。

以下のコマンドを実行してください。

Ubuntu/Debian:
    sudo apt install curl

CentOS/Fedora:
    sudo dnf install curl
もしくは
    sudo yum install curl

となるので

sudo apt install curl

の後に実行したら

+-+-+-+-+-+-+-+-+
|V|O|I|C|E|V|O|X|
+-+-+-+-+-+-+-+-+-+-+-+-+-+
        |I|n|s|t|a|l|l|e|r|
+-+-+-+-+-+-+-+-+-+-+-+-+-+
|f|o|r| |L|i|n|u|x|
+-+-+-+-+-+-+-+-+-+
[+] Checking installer prerequisites...
[!] Command '7z', '7zr' or '7za' not found

Required to extract compressed files

Ubuntu/Debian:
    sudo apt install p7zip

CentOS (Enable EPEL repository):
    sudo dnf install epel-release && sudo dnf install p7zip
Or
    sudo yum install epel-release && sudo yum install p7zip

Fedora:
    sudo dnf install p7zip
Or
    sudo yum install p7zip

Arch Linux:
    sudo pacman -S p7zip

MacOS:
    brew install p7zip

となるので

sudo apt install p7zip

の後に

bash VOICEVOX-CPU.Installer.0.14.7.Linux.sh 

でインストール成功

起動は

~/.voicevox/VOICEVOX.AppImage

だと

configMigration014: /home/snowpool/.config/voicevox-cpu/config.json not exists, do nothing
[26521:0923/052732.856278:ERROR:ozone_platform_x11.cc(247)] Missing X server or $DISPLAY
[26521:0923/052732.856458:ERROR:env.cc(226)] The platform failed to initialize.  Exiting.
Segmentation fault (コアダンプ)

となってしまう

普通にubuntu へログインし
GUIから起動すれば問題なく動くが

https://qiita.com/uezo/items/7e476147ec6312ad8a2c

.runで実行
M1Macでも動作したので
同様にubuntu でもできると思ったがコマンドが見つからない

https://ponkichi.blog/voicevox-python-curl#st-toc-h-7
を参考に

とりあえず

sudo find / -name ".run"

を実行したが

[sudo] snowpool のパスワード: 
find: ‘/run/user/1000/doc’: 許可がありません
find: ‘/run/user/1000/gvfs’: 許可がありません
find: ‘/run/user/127/doc’: 許可がありません
find: ‘/run/user/127/gvfs’: 許可がありません

となる

なおFWは関係なかった
https://server-network-note.net/2022/07/ubuntu-server-22-04-lts-firewall-ufw/
を参考にsudo ufw status で確認したが
無効になっていた

とりあえず保留してopencvを先に進める

https://www.kkaneko.jp/tools/ubuntu/ubuntu_opencv.html#S1
を参考に

まず cmakeのインストール

sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config
sudo apt -y install qt5-qmake
sudo apt -y install git cmake cmake-curses-gui cmake-gui curl
sudo apt -y install zlib1g-dev libcurl4-gnutls-dev

cd /tmp
git clone https://github.com/Kitware/CMake.git
cd CMake/
./configure --system-curl --system-zlib
Make
Sudo make install

次にpython3 関連

sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential

次に
OpenCV, opencv_contrib のインストール

sudo mkdir -p /usr/local/opencv
sudo chown -R $USER /usr/local/opencv
cd /usr/local/opencv
curl -O https://github.com/opencv/opencv/archive/4.x.zip
cp 4.x.zip opencv.zip
curl -O https://github.com/opencv/opencv_contrib/archive/4.x.zip
cp 4.x.zip opencv_contrib.zip

unzip opencv.zip 
Archive:  opencv.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of opencv.zip or
        opencv.zip.zip, and cannot find opencv.zip.ZIP, period.

となるので

https://www.kkaneko.jp/tools/ubuntu/ubuntu_opencv_buildout.html

https://toolatescrap.hatenablog.com/entry/2022/11/29/003848
を参考に
https://opencv.org/releases/
からmacでダウンロードしたが展開される

https://github.com/opencv/opencv/tree/4.7.0
からzipダウンロードしたが同じ
どうやらMacでzipダウンロードすると展開されるらしい

sudo apt install libgtk2.0-dev

で先にインストールしておく

https://www.kkaneko.jp/tools/ubuntu/ubuntu_opencv_buildout.html#S2
を参考に
Ceres Solver のインストール

sudo apt -y install  libceres-dev libceres2

次にpython3関連

https://www.kkaneko.jp/tools/man/python.html#systempython
によれば

Ubuntu では,システム Python は,Ubuntu システムの動作に関わっている. システム Python をバージョンアップしたり,アンインストールを行ったりするのは良くない

と言うことなので
Pyenvを使うようにする

sudo apt -y install --no-install-recommends make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
cd /tmp
curl https://pyenv.run | bash
echo 'export PYENV_ROOT="${HOME}/.pyenv"' >> ~/.bashrc
echo 'if [ -d "${PYENV_ROOT}" ]; then' >> ~/.bashrc
echo '    export PATH=${PYENV_ROOT}/bin:$PATH' >> ~/.bashrc
echo '    eval "$(pyenv init -)"' >> ~/.bashrc
echo '    eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
echo 'fi' >> ~/.bashrc
exec $SHELL -l

他の必要なものもインストールするので
https://www.kkaneko.jp/tools/ubuntu/ubuntu.html#Se
を参考に

sudo apt -y install git cmake cmake-curses-gui cmake-gui curl wget p7zip-full

次にpython関連

python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential

sudo apt -y install python-is-python3 python3-dev python-dev-is-python3 python3-pip python3-setuptools python3-venv build-essential

sudo pip3 uninstall ptyprocess sniffio terminado tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder

を実行したら

do tornado jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter spyder
Found existing installation: ptyprocess 0.7.0
Not uninstalling ptyprocess at /usr/lib/python3/dist-packages, outside environment /usr
Can't uninstall 'ptyprocess'. No files were found to uninstall.
WARNING: Skipping sniffio as it is not installed.
WARNING: Skipping terminado as it is not installed.
WARNING: Skipping tornado as it is not installed.
WARNING: Skipping jupyterlab as it is not installed.
WARNING: Skipping jupyter as it is not installed.
WARNING: Skipping jupyter-console as it is not installed.
WARNING: Skipping jupytext as it is not installed.
WARNING: Skipping nteract_on_jupyter as it is not installed.
WARNING: Skipping spyder as it is not installed.
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

となった

おそらく競合しないため念のためアンインストールしてるっぽい

sudo apt -y install jupyter jupyter-qtconsole spyder3
sudo apt -y install python3-ptyprocess python3-sniffio python3-terminado python3-tornado
sudo pip3 install -U jupyterlab jupyter jupyter-console jupytext nteract_on_jupyter

これで
JupyterLab, spyder, nteract
をインストール

sudo apt -y install python3-numpy python3-sklearn


numpy, scikit-learn のインストール

次に
TensorFlow 2.11,Keras,MatplotLib, Python 用 opencv-python のインストール

トラブルの可能性を減らすため
アンインストールをしておく

sudo apt -y remove python3-keras
sudo pip3 uninstall -y tensorflow tensorflow-cpu tensorflow-gpu tensorflow-intel tensorflow-text tensorflow-estimator tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer

クリーンインストール状態なので

WARNING: Skipping tensorflow as it is not installed.
WARNING: Skipping tensorflow-cpu as it is not installed.
WARNING: Skipping tensorflow-gpu as it is not installed.
WARNING: Skipping tensorflow-intel as it is not installed.
WARNING: Skipping tensorflow-text as it is not installed.
WARNING: Skipping tensorflow-estimator as it is not installed.
WARNING: Skipping tf-models-official as it is not installed.
WARNING: Skipping tf_slim as it is not installed.
WARNING: Skipping tensorflow_datasets as it is not installed.
WARNING: Skipping tensorflow-hub as it is not installed.
WARNING: Skipping keras as it is not installed.
WARNING: Skipping keras-tuner as it is not installed.
WARNING: Skipping keras-visualizer as it is not installed.
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

となった

TensorFlow の前提パッケージのインストール

sudo pip3 uninstall -y six wheel astunparse tensorflow-estimator numpy keras-preprocessing absl-py wrapt gast flatbuffers grpcio opt-einsum protobuf termcolor typing-extensions google-pasta h5py tensorboard-plugin-wit markdown werkzeug requests-oauthlib rsa cachetools google-auth google-auth-oauthlib tensorboard tensorflow
sudo apt -y install python3-six python3-wheel python3-numpy python3-grpcio python3-protobuf python3-termcolor python3-typing-extensions python3-h5py python3-markdown python3-werkzeug python3-requests-oauthlib python3-rsa python3-cachetools python3-google-auth

次に
TensorFlow, numpy, pillow, pydot, matplotlib, keras, opencv-python のインストール

sudo apt -y update
sudo apt -y install python3-numpy python3-pil python3-pydot python3-matplotlib
sudo apt -y install libopencv-dev libopencv-core-dev python3-opencv libopencv-contrib-dev opencv-data
sudo pip3 install -U tensorflow tf-models-official tf_slim tensorflow_datasets tensorflow-hub keras keras-tuner keras-visualizer
sudo pip3 install git+https://github.com/tensorflow/docs
sudo pip3 install git+https://github.com/tensorflow/examples.git
sudo pip3 install git+https://www.github.com/keras-team/keras-contrib.git

インストール完了後

python3 -c "import tensorflow as tf; print( tf.__version__ )"

でバージョン確認

2023-09-26 06:14:43.998359: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2023-09-26 06:14:44.053113: I tensorflow/tsl/cuda/cudart_stub.cc:28] Could not find cuda drivers on your machine, GPU will not be used.
2023-09-26 06:14:45.376154: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
2.13.0

となった

とりあえずここまで
次にPyTorch などをインストールする