ラベル データ解析 の投稿を表示しています。 すべての投稿を表示
ラベル データ解析 の投稿を表示しています。 すべての投稿を表示

2024年1月7日日曜日

問題の生じたconda環境のロールバックによるレストア

New Post:

conda環境で発生した問題

python環境設定、及び各種解析のためのアプリケーションの管理のためにmimiconda3 & conda-forge channelを使用しているが、しばらく前からなかなか解決しない依存性の問題を抱えてしまい、困っていた。症状としては、conda をアップデートすることも、新しく環境をcreateして必要なpackageをインストールすることもできず、現存する環境のみ使用できるような状況にほぼ近い感じになっていた。conda update -n base -c conda-forge condaをしようとしても、An unexpected error has occurred.でレポートが作成されて、updateができない状態であり、下のリンクに近い。

調査していくと、condaをアンインストールしてまた再インストールする手順等が比較的出てくるような気がした。万が一バックアップやレストアに失敗すると影響が甚大なので、手をつけるのが億劫になっていたが、conda周りの解析環境整理と再構築を実施することにした。

以下の手順が最適なものかは分からないが、依存性でcondaが問題を抱えてしまいアップデートも新規導入もできなくなってしまった際の再構築した記録として記載したい。

解決のための手順

上述したように、問題はupdateをかけた時に、unexpected errorでアップデートも新規package installもcreate environmentも期待通りに実施できないことである。condaを一度uninstallして、再度installし、バックアップしておいた旧環境のenvを再構築すれば良いかもしれないが、万が一レストアできない状況になることを考え、極力uninstallのステップは踏みたくない。これに対して、大まかには以下の手順で問題の解決を試みた。

  1. 現在のenv含めcondaの環境、.condarc、.bashrcの記述、その他condaに関連するファイルのバックアップを実施する。
  2. conda install --revision=REVNUMによるロールバックを実施し、問題がなかった頃のrevisionに戻る。
  3. conda install conda=VERSIONにより、condaのバージョンを上げる。
  4. condaによる環境設定が再び可能になったかを確認。
  5. 今回の問題を引き起こしたと考えられる(base)環境での依存性に関係した問題(?)を引き起こさないために、baseは新しいpackage等を導入しないようにして、analysis用の別の環境を構築する。

1. バックアップ

ホーム下でcondaに関連する.condarcの記述、隠しディレクトリ.conda下の内容、等々をbackup dirに保存したほか、ymlファイル等をそれぞれの環境で作成して保管した。HOME下にある.condarcには、

channels:
  - conda-forge
pkgs_dirs:
  - /path/to/modified/package/dirs/pkgs

また、フォルダ.conda下には、entironments.txtがあり、構築してある環境のpathが格納されている。.bashrcには、conda initializeの記載がインストール時に記載されている。特にバックアップする必要はないと思ったが、現状の記録のために保存した。

Revision情報

パッケージの導入、アップデート、削除等の情報をconda list -n ENV --revisionsで見ることができる。今回のinconsistencyの検証のために閲覧し、今後問題を見返したくなった時のために、環境ごとにテキストファイルで保存した。

# For each environment, save revision information
conda list -n base --revisions > check_revisions_base.txt
...

YML file

conda document に記載があるように、現在の環境を.ymlファイルとして出力することができる。

# For each environment, save YML files for future rebuild of the environment
conda env export -n base  > environment_base.yml

このようにして出力したり、自ら編集したりした.ymlファイルは、将来的に環境をrebuildするのに使用できる。

Explicit specification file

同一の環境を同じプラットフォーム上に構築するための情報をexportすることができるようだ。

これで、何か起こった際に一から再構築するための準備を一応できたと考え、condaのロールバックを実施することにした。

2. 以前のrevisionにロールバック

現在起こっている依存性の問題と、そのせいでcondaがアップデートできなくなっていることを解消するために、問題が起きていなかった時期の状態までロールバックして過去の環境をレストアし、そこから再度最新のcondaにアップデートすることを考えた。ロールバックすることで、それまでに導入したパッケージはbase環境から失われてしまうが、その前にbase環境をコピーして新しい環境を作っておくことで、一応現状の環境が使いたくなった時のバックアップを確保した上でbase環境に手を入れることができる。

実際の実行では、HOME下のminiconda3ではなく別のディレクトリに環境をクローンするために-pを使用した。

conda create -p /path/to/project/dir/env/base_2 --clone base

これでbaseをいじって万が一変なことをしてしまったとしても、base_2を使って以前の解析ができる。

準備ができたところで、上述のrevisionの情報と、そこで導入されているパッケージ、不具合がみられ出した時期を照合して、どこまでロールバックしてやれば良いかにあたりをつけた。その上で、以下の要領でレストアを実施した。

# rollback to the previous revision
conda install -n base --revision={int}

不具合が生じた時にロールバックして環境をレストアすることについては、調べていてあまり第一の選択肢として上がっていなかったような気がする。以下のサイトでコメントしている人がいた。

上の解決方法のいくつかは実際に実施したが、自分が経験ではうまくいかず、ロールバックして綺麗にする方法がうまく行った。ロールバック実行後、conda updateを実施できる状態になり、unexpected errorでエラーレポートを吐いて先に進めない状態から脱することができた。conda -Vにより確認すると、ロールバック直後には、指定したrevisionのところに記載されていたconda versionまで巻き戻っていた。

ここで生じた問題点

そこからconda update conda -n base -c conda-forgeを実行すると、revisionデータで見た時の、ロールバックした状態の一つ上のバージョンまでupdateされた。期待していたこととしては、現在一番最新のconda(実施時には23.11.0)までアップデートされると思ったが、そのずいぶん手前までしかアップデートされなかった。

3. condaのversion up

上述のように、ロールバックして依存問題のない環境まで巻き戻ることはできたのだが、別の問題として、condaのバージョンを最新のものまでアップデートすることができない状態が生じた。それ以外のパッケージはアップデートすることができた。

# 抜粋
==> WARNING: A newer version of conda exists. <==
current version: 22.11.1
latest version: 23.11.0

Please update conda by running

    $ conda update -n base -c conda-forge conda

Or to minimize the number of packages updated during conda update use

    conda install conda=23.11.0


# All requested packages already installed.

メッセージ通りにconda updateを実施しても、同じメッセージが出力されるだけでどうしても23.11にアップデートされなかった。どうしてこのような状態になっているのかはよく分からなかった。解決方法としては、最新のcondaのインストーラーをダウンロードしてきて再インストールすることだと思われたが、同じくメッセージに書かれているバージョン指定したインストールを実施してみることにした。

conda install conda=23.10

condaのバージョンは最新のものや戻ったrevisionでのバージョンに近いものなどいくつかを試してみたが、時間がかかりすぎるものもあり、結果的に23.10に指定した時にうまく行った。これによって、v23.10.0までjump upできた。

続けて、ここから最新のversionにアップデートできるのかを試行した。

conda update conda -n base -c conda-forge

今度はうまく行って、最新の23.11.0にcondaをアップデートすることができた。

これで、base環境に生じていた依存性の不具合を解消し、condaを最新のバージョンまでjump upさせることができたと考えられる。続けて、condaにより解析用の環境を別途再構築することにした。

4. .condarcの設定

conda createの際に便利なように、create_default_packages.condarcに設定し、新しい環境を作る際にデフォルトでインストールするパッケージを記載しておくことにした。

# Set create_default_packages on .condarc
# Frequently used python packages:

conda config --add create_default_packages ipython
conda config --add create_default_packages jupyterlab
conda config --add create_default_packages pandas
conda config --add create_default_packages numpy
conda config --add create_default_packages scipy

5. 解析環境の構築

(base)に変わる解析環境として、(ana)を構築する。

  • Status of Python versions

    Status key
    feature:
    new features, bugfixes, and security fixes are accepted.

    prerelease:
    feature fixes, bugfixes, and security fixes are accepted for the upcoming feature release.

    bugfix:
    bugfixes and security fixes are accepted, new binaries are still released. (Also called maintenance mode or stable release)

    security:
    only security fixes are accepted and no more binaries are released, but new source-only versions can be released

    end-of-life:
    release cycle is frozen; no further changes can be pushed to it.

上記のpython.orgで確認すると、現在のstable最新版は3.12ということで、python=3.12にして環境構築することにした。これまで3.9でずっといたので、だいぶ上げることになった。

# Generate ana environment
# For this environment, python 3.12 was specified.
conda create -p /path/to/my/private/miniconda3/envs/ana python=3.12

継続して、解析時に頻度高く使用しているものとして、以下のパッケージを導入することにした。

  • seaborn
  • matplotlib
  • scikit-learn
  • openpyxl
  • xlrd

markdown関係に必要なもの

  • nbconvert: Convert Notebooks to other formats

    Using nbconvert enables:
    • presentation of information in familiar formats, such as PDF.

    • publishing of research using LaTeX and opens the door for embedding notebooks in papers.

    • collaboration with others who may not use the notebook in their work.

    • sharing contents with many people via the web using HTML.

documentationのインストールチュートリアルに従い、必要なパッケージ等の導入を実施した。

# nbconvertとpandocの導入
conda install nbconvert pandoc

# TexLiveのインストール
# 以下、TeXLiveサイトの通り。
# サイズが大きいので、余裕のある場所を選んで指定した。

# documentationを見るに、htmlへの変換はTeXなしでも可能だが、pdfへはTex導入が必要のようだ。
# TexLiveに必要なものがまとめられているようだが、condaで検索したところtexlive-coreしか
# インストールすることができないようだったので、本家サイトにそってインストールした。
# 
# Make install location dir
cd /path/to/install/applications
mkdir Tex
mkdir Tex/personal
# Download installer
cd /path/to/installer/downloaded/dir
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz 
zcat < install-tl-unx.tar.gz | tar xf -
cd install-tl-*
# Execute installation
perl ./install-tl --texdir=/path/to/install/applications/Tex --texuserdir=/path/to/install/applications/Tex/personal

# Add path 
export PATH="/path/to/install/application/Tex/bin/{architecture}:$PATH"
export MANPATH="/path/to/install/application/Tex/texmf-dist/doc/man:$MANPATH"
export INFOPATH="/path/to/install/application/Tex/texmf-dist/doc/info:$INFOPATH"

終わりに

condaの環境に問題が生じる要因としては、環境に新しいパッケージが野放図に追加されていくことにより依存性の問題が生じて、アップデート等含めて様々な操作の障害になっていくことが考えられる。特に、base環境は他の環境とは異なり削除することが難しいため、baseは実質的には汚さずに置いておき、実際の解析環境や、特殊な用途のパッケージを導入する環境を個別に作成する方が良いのかもしれない。問題が起きたときに個別の環境をremoveすることで対応することができる。

依存性の問題を生じさせないためには、コンフリクトを生じさせないように用途に応じて個別に環境構築していくことが良いように思われるが、ホーム下にcondaを置いてしまっている場合は、たくさん環境を作っているとdisk usageを圧迫してしまう可能性がある。プロジェクトごとの環境はプロジェクトディレクトリに格納したり、余裕がある場所に環境格納用のディレクトリを指定し、conda createの際に-pでpath指定で構築するというのが良いかもしれない。

2023年12月18日月曜日

古いmacのterminalにテコ入れをする

article_231115

古いmacを新しい気持ちで使うために

手元でもう10年越しになりつつあるMacBook Airがある。Intel Macだった時代のもので、もうハードとして色々なことが古くなってしまっているが、いまだに現役で使用している。発表や就職活動などで活躍してくれたが、もう少しで現役は引退かもしれない。後継の機種が決まるまではしばらく今まで通りに使っていきたいと思っている。

だが、10年も使用してくると見た目に飽きてくるということがある。少し前から、デスクトップの画像は写真や絵ではなく暗めの灰色単一色にしてしまっているが、逆に無機質な感じがして飽きが来るのを防いでくれていると思う。appleは随分古い機種もOSアップデートの対象にしてくれるので、OSの見た目は定期的に新味を感じられて良かった。

ターミナルの見た目を変えたい

端末の見た目も、定期的に変更していた。たまに環境設定からプロファイルを変更して見た目を変えたりもしていたが、さすがに見飽きてきて、大幅に変更したいと前々から思うようになっていた。加えて、syntax highlightなどの強化もしたいと思い、方法を調査した。下の情報がわかりやすく、参考にさせていただいた。

gnu系のコマンドを使用できる環境にしたい

もう一つ思っていたのは、macで使用できるコマンドが普段多用しているgnu/linux系のものではないため、微妙にoptionなどが異なっていて不便だったので、それをなんとかしたいということだった。端末上で何かやりたい時のコマンドをgnu/linuxにした環境を作って、作業の時はそこに入れば良いのではと考えた。検索して情報を探していくと、homebrewでコマンド群をインストールしていく解説が複数あり、下記の情報がわかりやすかった。

テキスト処理のための標準的なコマンド群の macOS への導入手順

homebrewも使用しているが、今回はcondaによってgnu系環境を別途用意するという方法をとった。どちらかというとhomebrewで整備していく方法のほうが理にかなっているのかもしれないが、今回は元のmac (UNIX)の環境とも簡単に行ったり来たりできるようなものにしたいと思い、conda環境を使用した。デフォルトの環境は手をつけず、gnu系コマンド群を使用したいときにcondaの環境に入って使用するというイメージだ。homebrewでもそのような簡単な切り替えができるのかもしれないが、調べてはいない。

軽量なエディタのnanoのsyntax highlightに関する情報は、以下のサイトを参考にさせていただいた。

nanoもcondaにより導入したので、上の記述から若干変更して、.nanorcを作成した。

手順

1. conda environment

まずは、condaでgnu用の環境を作成した。ipythonなども導入して、データ解析、プロセシング等を実施する際に入るような環境を想定した。

conda create -n gnu
conda activate gnu

2. coreutils + other tools + python

conda環境に入ったあと、gnu/linux風にしたいコマンド群+pythonをインストールしていった。インストールするツール群については、前述の標準コマンド群を解説した記事を参考にさせてもらった。

# Coreutils
conda install -c conda-forge coreutils
# Other commands
conda install -c conda-forge diffutils
conda install -c conda-forge gzip
conda install -c conda-forge grep
conda install -c conda-forge gawk
conda install -c conda-forge nano
conda install -c conda-forge unzip
conda install -c conda-forge wget pandoc
# Python 3.12.0 install
conda install -c conda-forge python
conda install -c conda-forge ipython
conda install -c conda-forge pandas numpy

3. Solarized

先にあげた導入情報のリンクを参考にして、solarizedをインストールした。まずは、solarized.gitをgit cloneした。

git clone https://github.com/tomislav/osx-terminal.app-colors-solarized solarized.git
>> Cloning into 'solarized.git'...
>> remote: Enumerating objects: 80, done.
>> remote: Total 80 (delta 0), reused 0 (delta 0), pack-reused 80
>> Unpacking objects: 100% (80/80), done.

その後、ターミナルの環境設定からプロファイルを選択した。ダウンロードしたsolarized.gitフォルダ下にあるSolarized Dark.terminalを環境設定のプロファイルの読み込みから指定して読み込み、デフォルトに設定した。

4. .bash_profile編集

gnu/linuxのコマンド群を通常利用することを考え、環境をactivateして、またlsで色分けして表示できるようにするために、.bash_profileの内容を編集した。

# 以下の記述を加える
conda activate gnu
alias ls='ls --color=auto --group-directories-first'
eval `dircolors ~/.dircolors-solarized/dircolors.256dark`

5. nanoのsyntax highlight

基本的には、Syntax highlighting in nano on Mac OSに説明されている.nanorcの作成をするのだが、condaで導入しているため、記述が若干だが異なる。

cat ~/.nanorc
>> include "/path/to/home/miniconda3/envs/gnu/share/nano/*.nanorc"

minicondaのenvs/環境名/share/nano下には、.nanorcのファイルが格納されているので、それを読み込んでいることになる。

# miniconda3/envs/gnu/share/nano 下のファイル
extra             css.nanorc      html.nanorc        markdown.nanorc  perl.nanorc    sql.nanorc
asm.nanorc        default.nanorc  java.nanorc        nanohelp.nanorc  php.nanorc     tcl.nanorc
autoconf.nanorc   elisp.nanorc    javascript.nanorc  nanorc.nanorc    po.nanorc      tex.nanorc
awk.nanorc        email.nanorc    json.nanorc        nftables.nanorc  python.nanorc  texinfo.nanorc
c.nanorc          go.nanorc       lua.nanorc         objc.nanorc      ruby.nanorc    xml.nanorc
changelog.nanorc  groff.nanorc    makefile.nanorc    ocaml.nanorc     rust.nanorc    yaml.nanorc
cmake.nanorc      guile.nanorc    man.nanorc         patch.nanorc     sh.nanorc

これで、nanoを開いたときにもハイライト表示がされるようになった。

2023年5月23日火曜日

RStudio server の導入

 RStudioは統計解析のためのR言語を用いた解析を行うときに便利な統合解析環境 (IDE) であり、データ解析をしている際にも多用するプラットフォームである。NGSデータのバイオインフォマティクスのようなライフサイエンス分野の解析でも頻繁に使用されるプラットフォームだが、これまでRStudio Desktop版を主に利用してきた。比較的リソースが豊富なubuntuのlinuxマシンを利用したいのだが、実際の端末としては発表資料やオフィスソフトを使っているMacやWindowsなどを使いたいとも思う。それで、Desktop版ではなくubuntu機にserver版をインストールして、ゲストのbrowserからアクセスすることを考えた。対象マシンにはVS codeでssh接続し、主に公式の手順に則って作業を進めた。


RStudioインストール手順 


Step1 Server versionの選択

基本的に公式のインストール手順の通りに進めていくことで実施できた。対象のマシンはubuntuなので、Debian10/Ubuntu20を選択した。


Step2 R のインストール

対象の環境には既にRがインストールされていたので、このステップは省略した。現在インストールされているのはR ver4.1.2だった。

R version 4.1.2 (2021-11-01) -- "Bird Hippie"

Copyright (C) 2021 The R Foundation for Statistical Computing

Platform: x86_64-pc-linux-gnu (64-bit)


Step3 RStudio Serverのインストール

端末で、以下のコマンドを実行しインストール作業を行なった。


$ sudo apt-get install gdebi-core


gdebi-coreについては、参考のリンクを見て調べた。

"gdebi を使うと、ローカルの deb パッケージをその依存関係を解決しながら インストールできます。apt は同じ動作をしますが、インストールできるのはリモート (http, ftp) にあるパッケージのみです。"

続けて、wgetで.debをダウンロードした。


$ wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-2023.03.1-446-amd64.deb


ダウンロード先のディレクトリに移動し、先ほどのgdebiを用いてインストールする。


$ sudo gdebi rstudio-server-2023.03.1-446-amd64.deb


インストールの最後で、Serverが起動したことが表示された。


● rstudio-server.service - RStudio Server

     Loaded: loaded (/lib/systemd/system/rstudio-server.service; enabled; vendor preset: enabled)

     Active: active (running) since Mon 2023-05-22 23:08:17 JST; 1s ago

    Process: 6534 ExecStart=/usr/lib/rstudio-server/bin/rserver (code=exited, status=0/SUCCESS)

   Main PID: 6535 (rserver)

      Tasks: 4 (limit: 309319)

     Memory: 4.1M

        CPU: 670ms

     CGroup: /system.slice/rstudio-server.service

             └─6535 /usr/lib/rstudio-server/bin/rserver


May 22 23:08:17 XXXXX systemd[1]: Starting RStudio Server...

May 22 23:08:17 XXXXX systemd[1]: Started RStudio Server.


Serverへのアクセス


手元Macのsafariから以下のアドレスに対してアクセスすると、ブラウザでRStudioの画面が表示された。


http://{serverマシンのIPアドレス}:8787/



ubuntuマシンのuser nameとpasswordを入力するとログインすることができた。



今回のRStudio serverの導入により、RStudioのインターフェイスは日常使用するPCから利用し、かつ計算は比較的スペックが高いubuntuのマシンを使うことが可能になった。この方法はDesktop版よりも便利なような気がする。解析結果のreportやコミュニケーションのことを考えると、officeなども完備している手元のパソコンを使いたいが、計算自体は多少重めの場合など、serverを使った方が便利に進めることができるだろう。


参考

2023年5月21日日曜日

Ubuntuのanaconda3を削除した

 色々と環境がこんがらがってきて、ubuntu上にanaconda3で構築していた環境を削除したくなった。しばしばcondaの環境を削除する作業をしているような気がして、手順を記録として残しておくことにした。


1. homeのanaconda3ディレクトリを削除する

$ rm -rf ./anaconda3

これで、anacondaのファイルの大部分が削除される。


2. .bashrcのconda関係の記述を削除する。

下記の記述があるので、エディタで.bashrcを開いて削除する。

これまでのバージョン、あるいはOSなのかもしれないが、.bashrcに記述がある場合と、.bash_profileの場合があったような気がする。現在のubuntuの場合は.bashrcだった。

# >>> conda initialize >>>

~~~~~~~~

# <<< conda initialize <<<


3. condaに関連する隠しファイル、ディレクトリを削除する

homeディレクトリ下にあるconda関係のファイルやディレクトリを削除した。

$ rm -rf .condarc .conda


参考



2023年5月10日水曜日

home directoryのdisk quotaでしばしば躓く

解析サーバーでのトラブル

たまに聞く話として、サーバにVS codeを使ってremote SSHでアクセスしている場合に、アップデートをしたタイミングからssh接続できなくなることがある。最初はアップデートされたextentionの問題なのではないかと考え、前バージョンへのダウン等でトラブルシューティングを試みたのだがうまくいかない。remote SSHしようとする時に、ホストにサーバーがインストールできないというエラーメッセージが表示されており、途中からホストのホームディレクトリに書き込みできない状態になっているのではないかと考えたて確かめていくと解決することがある。


原因はdisk quotaのオーバーにより書き込みできなくなったこと

ホームディレクトリに移ってduで使用状況を調べてみた。


$ du -sh ~


すると、決められたdisk quotaを2GBほど超過した状態であることがわかった。どこに大きなファイルがあるのかを調べてみた。


$ du -sh ~/*


隠しファイルについても以下のように調べた。


$ du -sh ~/.[^.]*


大きなものとしては、使用しているcondaのディレクトリや、.cache/firefoxなどが肥大化しているようだった。.cache/firefoxはfirefoxのキャッシュファイルだが、こんなに大きくなっているとは思わなかった。これらのファイルを削除したり、別に移したりすることで、disk quota内に収めたのち、改めて手元のPCからVS codeでssh接続してみると、今度は無事に接続することができた。


過去にも類似のトラブルを複数回経験

思い返すと、過去にもdisk quota超過での書き込み不可によるトラブルを経験しているのが思い出された。conda updateでアップデートしたり新しいアプリケーションをインストールしたりしようとしたときにできない、ということがあり、ホーム下のminiconda3のディレクトリに書き込めなくなっていることが原因だった。VS Codeもsshアクセス先のホーム下に.vscode-serverというフォルダを作っていたが、disk quota超過によりここに書き込めなくなっていることが今回の原因だったらしい。この.vscode-serverディレクトリも1.4Gほどあり、かなり大きかった。


miniconda3のディレクトリが肥大化しがち

ホームディレクトリを大きくする原因の一つは、.cache下のファイルもあるが、miniconda3が大きくなることが一番の原因のように思われた。いくつもアプリケーションを導入したり、環境をたくさん作ったりすると、すぐに5G、10Gに肥大化してしまう。


一つの解決策としては、conda cleanを使用して不要になったファイルを削除することだと思う。ただ、--allを使うと不具合が生じると述べているサイトもあり(問題なかったとする人もいる)、今回は--tarballsでtarballのみ削除することにした。

あるいは、ホーム下のcondaの設定ファイルの.condarcの中に、pkgs_dirsの記述で別のパスを記載することで、そちらにpkgsの大きいファイルを格納するようにしたら、ホーム下のサイズは小さくすることができると思う。


pkgs_dirs:

 - /path/to/conda-pkgs/pkgs


また、envのフォルダを別の場所にとりあえず移動し、リンクを張ることでホーム下miniconda3のサイズを削除できるようだった、この方法でリンクを張った後でもその環境を使うことができた。このようにした方がいいのか、あるいは、ホーム下.conda/environments.txtに各environmentのパスが書かれていたので、こちらを編集した方が良いのかもしれない。


envのディレクトリの位置は、プロジェクトのフォルダ下に作って共有するといったやり方もあるらしく、これは解析の時にも便利なように思った。disk quotaを気にせずにそれぞれの解析ごとに環境を準備することもできるので、次回以降試してみたいと思った。


disk quotaのチェック

今回のこともあり、ホームディレクトリのディスク使用量をたまに確認することにした。隠しファイルについても表示するための"disk_quota_check"というエイリアスを新しく.bash_aliasesに記述した。


alias disk_quota_check='echo "---total---"  &&  du -sh ~  &&  echo "--- dir --"  &&  du -sh ~/*  &&  echo "---invisible---"  &&  du -sh ~/.[^.]*'


また、.bashrcに以下の記述をした。


if [ -f ~/.bash_aliases ]; then

    ~/.bash_aliases

fi



参考

2023年3月6日月曜日

Installing Sphinx on mac

Last week I installed Sphinx on my macOS computer to start practicing the document-making by Sphinx. I frequently see the documents of tools and others generated by Sphinx. I like the simple outlook and their well-structured formats  of the sphinx documents. It looks little a bit difficult to start using this tools for me, and I hesitated to introduce this application on my computer. Recently I found O'Reilly's book that seems good for learning Sphinx from scratch. I purchased the book and get started this tool for the first time.


Installation


In the text, there are good concise tutorials to install Sphinx on one's machine (Windows/macOS/Linux). In my case, just install sphinx using conda package manager. 


(base) tk$ conda install -c conda-forge sphinx

Collecting package metadata (current_repodata.json): done

Solving environment: done


## Package Plan ##


  environment location: /Path/to/miniconda3


  added / updated specs:

    - sphinx



The following packages will be downloaded:


    package                    |            build

    ---------------------------|-----------------

    alabaster-0.7.13           |     pyhd8ed1ab_0          18 KB  conda-forge

    docutils-0.19              |  py310h2ec42d9_1         761 KB  conda-forge

    imagesize-1.4.1            |     pyhd8ed1ab_0          10 KB  conda-forge

    snowballstemmer-2.2.0      |     pyhd8ed1ab_0          57 KB  conda-forge

    sphinx-6.1.3               |     pyhd8ed1ab_0         1.2 MB  conda-forge

    sphinxcontrib-applehelp-1.0.4|     pyhd8ed1ab_0          29 KB  conda-forge

    sphinxcontrib-devhelp-1.0.2|             py_0          22 KB  conda-forge

    sphinxcontrib-htmlhelp-2.0.1|     pyhd8ed1ab_0          32 KB  conda-forge

    sphinxcontrib-jsmath-1.0.1 |             py_0           7 KB  conda-forge

    sphinxcontrib-qthelp-1.0.3 |             py_0          25 KB  conda-forge

    sphinxcontrib-serializinghtml-1.1.5|     pyhd8ed1ab_2          27 KB  conda-forge

    ------------------------------------------------------------

                                           Total:         2.1 MB


The following NEW packages will be INSTALLED:


  alabaster          conda-forge/noarch::alabaster-0.7.13-pyhd8ed1ab_0 

  docutils           conda-forge/osx-64::docutils-0.19-py310h2ec42d9_1 

  imagesize          conda-forge/noarch::imagesize-1.4.1-pyhd8ed1ab_0 

  snowballstemmer    conda-forge/noarch::snowballstemmer-2.2.0-pyhd8ed1ab_0 

  sphinx             conda-forge/noarch::sphinx-6.1.3-pyhd8ed1ab_0 

  sphinxcontrib-app~ conda-forge/noarch::sphinxcontrib-applehelp-1.0.4-pyhd8ed1ab_0 

  sphinxcontrib-dev~ conda-forge/noarch::sphinxcontrib-devhelp-1.0.2-py_0 

  sphinxcontrib-htm~ conda-forge/noarch::sphinxcontrib-htmlhelp-2.0.1-pyhd8ed1ab_0 

  sphinxcontrib-jsm~ conda-forge/noarch::sphinxcontrib-jsmath-1.0.1-py_0 

  sphinxcontrib-qth~ conda-forge/noarch::sphinxcontrib-qthelp-1.0.3-py_0 

  sphinxcontrib-ser~ conda-forge/noarch::sphinxcontrib-serializinghtml-1.1.5-pyhd8ed1ab_2 



Proceed ([y]/n)? y




After installation, I checked by,


(base) tk$ sphinx-quickstart --version

sphinx-quickstart 6.1.3



I successfully installed sphinx on my system.


References


Sphinxをはじめよう 第3版 O'REILLY Japan: https://www.oreilly.co.jp/books/9784873119830/
Support page:  https://github.com/getstart-sphinx/getstart-sphinx