しょっちゅう使っているAnaconda. ライセンス関係でとある向きにはminicondaを使ってます
このanaconda、python環境に移行には「source activate <環境名>」としている. 本来なら「conda activate <環境名>」なのだが、
「.bashrc」をあまり書き換えたくないからそうしている.
っが最近、「source deactivate」が効かない事態が発生している。
回避策として
|
と
|
かなと
大抵は「conda info」で表示されるURLを使ってパッケージがインストールされる.
(base) saber@ubuntu:~$ conda info
active environment : base
active env location : /home/saber/anaconda3
shell level : 1
user config file : /home/saber/.condarc
populated config files :
conda version : 22.9.0
conda-build version : 3.22.0
python version : 3.9.13.final.0
virtual packages : __cuda=12.0=0
__linux=5.15.0=0
__glibc=2.31=0
__unix=0=0
__archspec=1=x86_64
base environment : /home/saber/anaconda3 (writable)
conda av data dir : /home/saber/anaconda3/etc/conda
conda av metadata url : None
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/saber/anaconda3/pkgs
/home/saber/.conda/pkgs
envs directories : /home/saber/anaconda3/envs
/home/saber/.conda/envs
platform : linux-64
user-agent : conda/22.9.0 requests/2.28.1 CPython/3.9.13 Linux/5.15.0-53-generic ubuntu/20.04.5 glibc/2.31
UID:GID : 1001:1001
netrc file : None
offline mode : False
(base) saber@ubuntu:~$
独自のURLを加えるなら「user config file」で示される「/home/saber/.condarc」を修正する
(base) saber@ubuntu:~$ cat .condarc
channels:
- defaults
default_channels:
- http://c/anaconda/conda.anaconda.org/bioconda/
- http://c/anaconda/conda.anaconda.org/pytorch/
- http://c/anaconda/repo.anaconda.com/pkgs/free/
- http://c/anaconda/repo.anaconda.com/pkgs/main/
- http://c/anaconda/repo.anaconda.com/pkgs/mro
- http://c/anaconda/repo.anaconda.com/pkgs/pro
use_only_tar_bz2: True
(base) saber@ubuntu:~$
とか「use_only_tar_bz2: True」をいれないと最近の「.conda」も採用してしまう
Anaconda3の前身Anaconda2を使っている場合、各channnelのrepodataは「repodata.json.bz2」とbz2形式だと読めないようで「repodata.json」の形式も用意する必要があるみたい.
condaで環境を作ると
==> WARNING: A newer version of conda exists. <==
current version: 22.9.0
latest version: 23.1.0
Please update conda by running
$ conda update -n base -c defaults conda
とか言われる.
っでご指示に従い「conda update -n base -c defaults conda」としても治らない時がある.
そんな時は
conda install -n base conda=23.1.0
で退治できる.
anaconda3-5.3.1を使っていてこのような表示が現れて、環境が作れなくなった...
解消方法は
https://github.com/conda/conda/issues/10618とかに載っている....
現象の再現を行ってみる
[root@centos7 ~]# git clone https://github.com/yyuu/pyenv.git /apps/pyenv
[root@centos7 ~]# export PYENV_ROOT=/apps/pyenv
[root@centos7 ~]# export PATH=$PYENV_ROOT/bin:$PATH
[root@centos7 ~]# pyenv install anaconda3-5.3.1
[root@centos7 ~]# pyenv global anaconda3-5.3.1
[root@centos7 ~]# export PATH=$PYENV_ROOT/versions/anaconda3-5.3.1/bin/:$PATH
[root@centos7 ~]# conda update conda
Solving environment: failed
InvalidVersionSpecError: Invalid version spec: =2.7
[root@centos7 ~]#
とエラーになる....一応「conda create -n py310 python=3.10」とかは動くけど、DeepEMhancerの構築では失敗している.
[root@centos7 ~]# cd /apps/deepEMhancer/
[root@centos7 deepEMhancer]# conda env create -f deepEMhancer_env.yml -n deepEMhancer_env
Solving environment: failed
ResolvePackageNotFound:
- joblib=1.3
- hdf5=1.14
- h5py=3.9
- requests=2.31
- cudnn=8.8
[root@centos7 deepEMhancer]#
ってな感じで. 上記の問題は古いcondaにあるのかなと思いまずはconda自身のupdateを試みたら先ほどの次第であった.
っで解消法ですが、「/apps/pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/conda/models/version.py」を下記のように修正します
|
これで行けるみたい.
[root@centos7 ~]# conda update conda
[root@centos7 ~]# conda list |grep conda
# packages in environment at /apps/pyenv/versions/anaconda3-5.3.1:
anaconda 5.3.1 py37_0
anaconda-client 1.7.2 py37_0
anaconda-navigator 1.9.2 py37_0
anaconda-project 0.8.2 py37_0
conda 23.5.2 py310h06a4308_0
conda-build 3.15.1 py37_0
conda-env 2.6.0 1
conda-package-handling 2.1.0 py310h06a4308_0
conda-package-streaming 0.8.0 py310h06a4308_0
[root@centos7 ~]#
っで、これで先ほど修正したファイルが消えます. そうゆうものらしい.
これでDeepEMhancerの構築も成功するみたい. 成功した.