update関係 - Naohiro2g/Raspberry-Pi-Projects GitHub Wiki
Pythonのバージョンの話。
2019-12-12時点で最新は3.8.0だが、Raspbian Stretchはまだ3.5.3のまま。たぶん、このままだな。Busterは、3.7.xになったが。 pip(PyPI)のモジュールたちも、そろそろ3.6以上対応のものが出てきたので、困る。
例えば、こういうエラーが出る。モジュール間の依存関係は面倒見てくれるのに。。。
ERROR: Package 'ipython' requires a different Python: 3.5.3 not in '>=3.6'
発見したPython 3.5.3対応の最終バージョンたち。
sudo pip install ipython==7.9.0
sudo pip install keyring==19.2.0
sudo pip install keyrings.alt==3.2.0
sudo pip3 install Pillow==6.2.0
sudo pip install prompt-toolkit==2.0.10
apt
APTアップデート
sudo apt-get update; sudo apt-get upgrade -y
保留のやつまでアップデート
sudo apt-get update; sudo apt-get dist-upgrade -y
sudo apt autoremove
sudo apt autoclean
aptソースサーバーを国内ミラーサイトに指定 (一時期、WIDEのサーバーがメンテ中か、使えない時があった。)
残念ながら、300MB以上あるwolfram-engineはイギリスなので遅い。はずだけど、キャッシュされたのか?とても速くなった。
sudo nano /etc/apt/sources.list
deb http://ftp.jaist.ac.jp/raspbian/ stretch main contrib non-free rpi
deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ stretch main contrib non-free rpi
Raspberry Pi OS Debianでも同様に。
sudo nano /etc/apt/sources.list
deb http://ftp.jaist.ac.jp/raspbian/ debian main contrib non-free rpi
deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ debian main contrib non-free rpi
node-RED
node-REDが怪しい。ので、アップデート。
update-nodejs-and-nodered
Debianでは、コマンドが無いと言われる。
pip
pipモジュールのバージョンチェック
pip3 show gpiozero
pip3 freeze | grep gpiozero
アップデートが存在するパッケージのリスト
pip3 list -o
依存関係チェック
pip3 check
pipdeptree
最近インストールしたもの
sudo pip3 install rpi_ws281x
sudo apt-get install ncftp # コマンドラインでftp putできる。ブックマークファイルでパスワードを暗号化管理できる。
sudo apt-get install ffmpeg
pip3 install ffmpeg matplotlib
numpy関係
sudo apt-get install libatlas-base-dev
pandasをpipで入れると、コンパイルで死ぬ。aptで。
その後、piwheelsに収容されたのでオッケー。
sudo apt-get install python3-numpy
sudo apt-get install python3-pandas
ただし、numpyのバージョンも古いものになる。
# sudo apt-get install python3-matplotlib
pipでインストールしたモジュールを全部アップデート
pygobjectが更新できない! コンパイルできないので開発系を入れる。
sudo apt install libglib2.0-dev libgirepository1.0-dev libcairo2-dev -y
sudo pip3 install -U pygobject
pip自体をアップデート
sudo pip3 install -U pip
pipでインストールされたモジュールをリスト
pip3 list
outdated=更新可能なものをリスト
pip3 list -o
すべてアップデートしてしまえ!!
sudo pip3 list -o | tail -n +3 | awk '{print $1}' | xargs sudo pip3 install -U --ignore-installed
No space left on deviceエラーが出た時。tmpを一時的に設定。してもダメなときはダメ。
mkdir $HOME/tmp
export TMPDIR=$HOME/tmp
sudo pip3 list -o | tail -n +3 | awk '{print $1}' | xargs sudo pip3 install -U --ignore-installed --no-cache-dir
thonny-pi最新1.5とthonny最新3.2.0が互換性無いので、戻す。
sudo pip3 install thonny==3.1.0 thonny-pi==1.1
sudo pip3 list -o
Package Version Latest Type
--------- ------- ------ -----
thonny 3.1.0 3.2.0 wheel
thonny-pi 1.1 1.5 wheel
戻したけど、binの置き場所が変わっちゃったので、desktopファイルを更新。sudo必要。
sudo nano /usr/share/applications/Thonny.desktop
旧
Exec=/usr/bin/thonny %F
新
Exec=/usr/local/bin/thonny %F
依存関係チェック
sudo pip3 check
matplotlibで日本語フォントなどをインストールするとき
sudo cp -r natume_anzu /usr/share/fonts/truetype/
fc-cache -v
matplotlibでキャッシュクリア
import matplotlib.font_manager
matplotlib.font_manager.findSystemFonts()
matplotlib.font_manager._rebuild()
使用フォント指定
plt.rcParams["font.family"] = "Natsume"