2023年5月21日日曜日

Ubuntuにminiconda3で環境構築

 前回、こんがらがってよく分からなくなっていた古いanaconda3環境を一度アンインストールして、新しくminiconda3で環境構築を実施することにした。かれこれ4年間ほどcondaを利用してきたが、その間に所属も変わり、ライセンスの変更でconda-forgeを利用することになるなど、色々と変遷はあるが、今しばらくはpython環境はcondaで構築する状況が続くように思う。


環境

今回環境構築するのは、自分のsmall projectに使っているubuntu上である。

$ cat /etc/issue

Ubuntu 20.04.6 LTS \n \l


昔のanaconda3環境をアンインストール

自分の環境下のanaconda3をアンインストールした。

https://tyoshidalog.blogspot.com/2023/05/ubuntuanaconda3.ht


Miniconda3のインストール

インストーラーを下記サイトからダウンロードした。


ダウンロード後、ハッシュ値の確認を実施する。

$ cat sha256sum.check.txt 

aef279d6baea7f67940f16aad17ebe5f6aac97487c7c03466ff01f4819e5a651 Miniconda3-latest-Linux-x86_64.sh

$ sha256sum -c sha256sum.check.txt

Miniconda3-latest-Linux-x86_64.sh: OK

# hash値を書いてあるファイルは、"hash"+"スペース"+"ファイルパス"になっている。


インストールを実施する。home下にminiconda3のディレクトリができる。  

$ bash  ./Miniconda3-latest-Linux-x86_64.sh


新しいターミナルを立ち上げると、プロンプトが(base)になっている。


パッケージの確認

最初の段階で入っているパッケージは、anacondaと比べるとだいぶ少ない。

$ conda list

# Name                    Version                   Build  Channel

_libgcc_mutex             0.1                        main  

_openmp_mutex             5.1                       1_gnu  

boltons                   23.0.0          py310h06a4308_0  

brotlipy                  0.7.0           py310h7f8727e_1002  

bzip2                     1.0.8                h7b6447c_0  

ca-certificates           2023.01.10           h06a4308_0  

certifi                   2022.12.7       py310h06a4308_0  

cffi                      1.15.1          py310h5eee18b_3  

charset-normalizer        2.0.4              pyhd3eb1b0_0  

conda                     23.3.1          py310h06a4308_0  

conda-content-trust       0.1.3           py310h06a4308_0  

conda-package-handling    2.0.2           py310h06a4308_0  

conda-package-streaming   0.7.0           py310h06a4308_0  

cryptography              39.0.1          py310h9ce1e76_0  

idna                      3.4             py310h06a4308_0  

jsonpatch                 1.32               pyhd3eb1b0_0  

jsonpointer               2.1                pyhd3eb1b0_0  

ld_impl_linux-64          2.38                 h1181459_1  

libffi                    3.4.2                h6a678d5_6  

libgcc-ng                 11.2.0               h1234567_1  

libgomp                   11.2.0               h1234567_1  

libstdcxx-ng              11.2.0               h1234567_1  

libuuid                   1.41.5               h5eee18b_0  

ncurses                   6.4                  h6a678d5_0  

openssl                   1.1.1t               h7f8727e_0  

packaging                 23.0            py310h06a4308_0  

pip                       23.0.1          py310h06a4308_0  

pluggy                    1.0.0           py310h06a4308_1  

pycosat                   0.6.4           py310h5eee18b_0  

pycparser                 2.21               pyhd3eb1b0_0  

pyopenssl                 23.0.0          py310h06a4308_0  

pysocks                   1.7.1           py310h06a4308_0  

python                    3.10.10              h7a1cb2a_2  

readline                  8.2                  h5eee18b_0  

requests                  2.28.1          py310h06a4308_1  

ruamel.yaml               0.17.21         py310h5eee18b_0  

ruamel.yaml.clib          0.2.6           py310h5eee18b_1  

setuptools                65.6.3          py310h06a4308_0  

six                       1.16.0             pyhd3eb1b0_1  

sqlite                    3.41.1               h5eee18b_0  

tk                        8.6.12               h1ccaba5_0  

toolz                     0.12.0          py310h06a4308_0  

tqdm                      4.65.0          py310h2f386ee_0  

tzdata                    2023c                h04d1e81_0  

urllib3                   1.26.15         py310h06a4308_0  

wheel                     0.38.4          py310h06a4308_0  

xz                        5.2.10               h5eee18b_1  

zlib                      1.2.13               h5eee18b_0  

zstandard                 0.19.0          py310h5eee18b_0  


チャンネルの設定について

今回の環境は商業活動に関係のない個人的なものだが、商用の利用では、anacondaのデフォルトチャンネルの使用が有償化されているので、conda-forgeなどの利用を検討した方が良い。これらの情報については、下記のリンクでわかりやすい説明を見つけることができる。

Anacondaの有償化に伴いminiconda+conda-forgeでの運用を考えてみた

  • Qiitaの記事で、conda-forgeの利用について参考になる記事。


conda-forgeとは?主な使い方や活用のポイントをご紹介

  • conda-forgeの紹介や、pipとcondaの違い、重複パッケージの調べ方などが紹介されていた。


https://conda-forge.org/

https://github.com/conda-forge

  • conda-forgeのサイト


参考