ãã£ã»ãŒ!ãããã«ã¡ã¯ãŒ!
ç©ç奜ãã®ãªã¶ã(@sena0801masato)ã§ãã
ä»åã¯ãAnacondaã䜿ã£ãä»®æ³ç°å¢ãä¿åã»åæ§ç¯ãè€è£œã«ã€ããŠã話ããããšæããŸãã
(Anacondaã«éãããMinicondaã§ãcondaãã€ã³ã¹ããŒã«ãããŠãããããä»®æ³ç°å¢ãè€è£œã§ãããšæããŸãã)
詊è¡é¯èª€ããéšåãããã®ã§ãåããæ¹ãããæããŠæ¬²ããã§ãã
ãã®èšäºã®å¯Ÿè±¡è
- Anacondaã§ä»®æ³ç°å¢ã䜿ãã
- ä»®æ³ç°å¢ãä¿åããŠãããã
- åãã³ã³ãã¥ãŒã¿ã§ä»®æ³ç°å¢ãè€è£œããã
- ç°ãªãã³ã³ãã¥ãŒã¿ã§ä»®æ³ç°å¢ãåæ§ç¯ããã
- Anacondaã®ããã²ãŒã·ã§ã³ã¢ããª(ããŠã¹ã«ããèŠèŠçãªæäœ)ã䜿ãããã¿ãŒããã«(ã³ãã³ãã«ããæäœ)ã䜿ããã
Anacondaã®ä»®æ³ç°å¢ã®äœ¿ãæ¹ã確èªããã人ã¯ããåå¿è åããAnacondaã§ä»®æ³ç°å¢ãäœã£ãŠã¿ãã確èªããŠãã ããã
æåã¯ãä»®æ³ç°å¢ã®ç¶æ
(ã€ã³ã¹ããŒã«ãããŠããã©ã€ãã©ãªã®ããŒãžã§ã³ãªã©)ããã¡ã€ã«ã«åºåããŠä¿åãããã®ãã¡ã€ã«ãããšã«åæ§ç¯ããæ¹æ³ã2çš®é¡ç޹ä»ããŸããæ¹æ³1ãæ¹æ³2
次ã¯ããã¡ã€ã«ã«åºåãããè€è£œããæ¹æ³ã玹ä»ããŸãããã®ç¯ãž
æåŸã¯ãrootç°å¢ãè€è£œãããšãã ã䜿ããæ¹æ³ã玹ä»ããŸãããã®ç¯ãž
åºæ¬çã«ãä¿åã»åæ§ç¯ãè€è£œãããç°å¢ãèµ·åããŠå®è¡ããŠãã ããã
ä»®æ³ç°å¢ã®èµ·åã¯ä»¥äžã®ã³ãã³ãã§ãã
$ source activate ä»®æ³ç°å¢å
(Windowsãªãsourceã¯å¿
èŠãªã)
codna envãäœ¿ãæ¹æ³
ä»®æ³ç°å¢ããã¡ã€ã«ã«åºåããŠä¿å
ä»®æ³ç°å¢ã®ç¶æ
ãyaml1ãšããããŒã¿åœ¢åŒ(æ¡åŒµåã¯.yml)ã§ä¿åããŸãã
ä»ãããã£ã¬ã¯ããªã«ä¿åãããã®ã§ãä¿åãããå Žæã«ç§»åããŠããå®è¡ããŠãã ããã
$ conda env export > ãã¡ã€ã«å.yml
ãã¡ã€ã«ãšããŠä¿åããããªãããã©ããããã¡ã€ã«ãšããŠåºåãããšããã©ã®ãããªå 容ããã¿ãŒããã«ã§ç¢ºèªãããå Žåã¯äžãå®è¡ããŠãã ããã
$ conda env export
rootç°å¢ãyamlãã¡ã€ã«ã«åºåããããšãããšãã«åºããšã©ãŒãšè§£æ±ºæ³
CondaEnvException: Conda Env Exception: Unable to determine environment
Please re-run this command with one of the following options:
* Provide an environment name via --name or -n
* Re-run this command inside an activated conda environment.
è§£æ±ºæ¹æ³ã¯rootç°å¢ãšæå®ããŠæžããŸãã
$ conda env export -n root > root_env.yml
ä»®æ³ç°å¢ããã¡ã€ã«ãããšã«åæ§ç¯
ããã»ã©åºåããyamlãã¡ã€ã«ãããšã«ä»®æ³ç°å¢ãåæ§ç¯ããŸãã
$ conda env create -n æ°ããªç°å¢å -f ãã¡ã€ã«å.yml
äžç¬Solving package specifications:ãšåºåãããŠãäœãéžæãæ±ããããŠããããã«èŠããããšããããŸããããããã©ã€ãã©ãªãå€ããŠåŠçãéãã ãã§ãæŸçœ®ããŠå€§äžå€«ã§ãã
-nã--nameã«ã-fã--fileã«ããŠãå®è¡ã§ããŸãã
ã¡ãªã¿ã«ãyamlãã¡ã€ã«(.yml)ã«åºåããŠåæ§ç¯ããŸããããããã¹ããã¡ã€ã«(.txt)ã«ããŠãæ£åžžã«åæ§ç¯ã§ããŸããçç±ã¯åãããŸããã
rootç°å¢ãåæ§ç¯ããããšãããšãã«åºããšã©ãŒãšè§£æ±ºæ³
InstallError: Error: 'conda' can only be installed into the root environment
解決æ³ã¯åºåããyamlãã¡ã€ã«ãéãã2ã€ã®ã©ã€ãã©ãªãæ¶ããŸããã
- conda=4.3.21=py36_0
- conda-env=2.6.0=0
ããŒã¹ã®rootç°å¢ãšåæ§ç¯ããrootç°å¢ã®ã©ã€ãã©ãªã®éã
rootç°å¢ãåæ§ç¯ãããšããåæ§ç¯ããrootç°å¢ãåé€ãããšãã«åºåããããšã©ãŒã£ãœãæ
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\Owner\Anaconda3\envs\root_env_yml', env_name: 'root_env_yml', mode: 'None', used_mode: 'user'
ãã®æã¯ymlã§åæ§ç¯ã»åé€ããŠããtxtã§åæ§ç¯ã»åé€ããŠãåºãŸããã
ããããã¡ãããšç°å¢ãåæ§ç¯ãããåé€ãããã§ããã®ã§ããããäœãæå³ããã®ãåãããŸããã§ããã
condaãäœ¿ãæ¹æ³
ä»®æ³ç°å¢ããã¡ã€ã«ã«åºåããŠä¿å
ä»®æ³ç°å¢ã®ç¶æ
ãããã¹ããã¡ã€ã«(æ¡åŒµåã¯.txt)ã§ä¿åããŸãã
ä»ãããã£ã¬ã¯ããªã«ä¿åãããã®ã§ãä¿åãããå Žæã«ç§»åããŠããå®è¡ããŠãã ããã
$ conda list --export > ãã¡ã€ã«å.txt
ãŸãã¯
$ conda list --explicit > ãã¡ã€ã«å.txt
ãã¡ã€ã«ãšããŠä¿åããããªãããã©ããããã¡ã€ã«ãšããŠåºåãããšããã©ã®ãããªå 容ããã¿ãŒããã«ã§ç¢ºèªãããå Žåã¯äžãå®è¡ããŠãã ããã
$ conda list --export
ãŸãã¯
$ conda list --explicit
--exportãš--explicitã®éãã¯ã©ã€ãã©ãªã®è¡šèšã®éã
ä»®æ³ç°å¢ããã¡ã€ã«ãããšã«åæ§ç¯
ããã»ã©åºåããããã¹ããã¡ã€ã«ãããšã«ä»®æ³ç°å¢ãåæ§ç¯ããŸãã
$ conda create -n ç°å¢å -f ãã¡ã€ã«å.txt
-nã--nameã«ã-fã--fileã«ããŠãå®è¡ã§ããŸãã
ãªããåæ§ç¯ãã§ããªãã£ããšã©ãŒã®ç޹ä»
$ conda create -n ç°å¢å -f ãã¡ã€ã«å.txt
Fetching package metadata ...........
PackageNotFoundError: Package missing in current win-64 channels:
- ãã¡ã€ã«å.txt
ã¡ãªã¿ã«ãããã¹ããã¡ã€ã«(.txt)ã«ããŠä¿åããŸããããyamlãã¡ã€ã«(.yml)ã«ããŠãæ£åžžã«ä¿åã§ããŸããçç±ã¯åãããŸããã
ã©ã¡ãã«ããŠãç§ã®å Žåã¯åæ§ç¯ã§ããŸããã§ããã
ä»®æ³ç°å¢ãè€è£œ(ãã¡ã€ã«ã«åºåããªã)
ãã¡ã€ã«ã«ä¿åããŠåæ§ç¯ãšããæ¹æ³ã§ã¯ãªããçŽæ¥çã«ç°å¢ãè€è£œããæ¹æ³ã玹ä»ããŸãã
$ conda create -n æ°ããç°å¢å --clone è€è£œãããããŒã¹ã®ç°å¢å
å®è¡ããäŸ
$ conda create -n test_clone --clone py36_base
Source: C:\Users\Owner\Anaconda3\envs\py36_base
Destination: C:\Users\Owner\Anaconda3\envs\test_clone
Packages: 8
Files: 7
#
# To activate this environment, use:
# > activate test_clone
#
# To deactivate this environment, use:
# > deactivate test_clone
#
# * for power-users using bash, you must source
#
rootç°å¢ã®çŽæ¥çãªè€è£œ
The following packages cannot be cloned out of the root environment:
- conda-4.3.21-py36_0
- conda-env-2.6.0-0
Packages: 178
Files: 117
(以äžç¥)
ããããrootç°å¢ãè€è£œãããšãããè€è£œããrootç°å¢ãåé€ãããšããã以äžã®ãããªãšã©ãŒã£ãœãæãåºãŸããããšã©ãŒãèµ·ããããã§ãªã¹ã¹ã¡ããŸããã
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\Owner\Anaconda3\envs\test_root_clone', env_name: 'test_root_clone', mode: 'None', used_mode: 'user'
rootç°å¢ã®è€è£œ
rootç°å¢ã«ããå šéšã®ã©ã€ãã©ãªãæ°ãã«äœãä»®æ³ç°å¢ã«ã€ã³ã¹ããŒã«ãããšãããã¥ã¢ã³ã¹ã§ãrootç°å¢ãè€è£œããŸãã
$ conda create -n æ°ããç°å¢å anaconda
rootç°å¢ãè€è£œãã€ã€ãpythonã®ããŒãžã§ã³ãã©ã€ãã©ãªã®ããŒãžã§ã³ã现ããæå®ããããšãã§ããŸãã
$ conda create -n æ°ããç°å¢å python=3.6 anaconda
ã©ã¡ããanacondaãšæžããéšåããä»ã®ä»®æ³ç°å¢åã«ããŠãåäœããŸããã
å®è¡ããäŸ
Fetching package metadata ...........
Solving package specifications: .
Package plan for installation in environment C:\Users\Owner\Anaconda3\envs\root_anaconda:
The following NEW packages will be INSTALLED:
_license: 1.1-py36_1
(ã€ã³ã¹ããŒã«ããã©ã€ãã©ãªã®äžèЧãçç¥)
Proceed ([y]/n)? y
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\Owner\Anaconda3\envs\root_anaconda', env_name: 'root_anaconda', mode: 'None', used_mode: 'user'
#
# To activate this environment, use:
# > activate root_anaconda
#
# To deactivate this environment, use:
# > deactivate root_anaconda
#
# * for power-users using bash, you must source
#
ããã§ããšã©ãŒã£ãœãæãåºåãããŸãããããããè€è£œã¯ã§ããããã§ãã
INFO menuinst_win32:__init__(182): Menu: name: 'Anaconda${PY_VER} ${PLATFORM}', prefix: 'C:\Users\Owner\Anaconda3\envs\root_anaconda', env_name: 'root_anaconda', mode: 'None', used_mode: 'user'
ããŒã¹ã®rootç°å¢ãšåæ§ç¯ããrootç°å¢ã®ã©ã€ãã©ãªã®éã
ãŸãšã
ãããŸã§èªãã§ããã ãããããšãããããŸããã
ããã§ä»®æ³ç°å¢ãä¿åã»åæ§ç¯ãè€è£œããããšãã§ããããã«ãªããŸããã
ãããããŸã äžæç¢ºãªéšåããããŸãã
conda envã§ä¿åã»åæ§ç¯ãã§ãããã倧äžå€«ãšããã°å€§äžå€«ã§ãããcondaã§ã¯ãŸã£ããåæ§ç¯ãã§ããªãåé¡ã解決ãããã§ãã
ãŸããrootç°å¢ã«é¢ããæäœã§ãšã©ãŒã£ãœãæãåºãã®ãå¿é
ã§ãã
ãã®ããã«åãããªãããã©åãããæŸçœ®ããŠããéšåãããã®ã§ãä»åŸã¯ãããè©°ããŠããããšæããŸãã
ã§ã¯ã§ã¯!
åèæç®
Anacondaã®condaã³ãã³ãã«ããä»®æ³ç°å¢ã®äœ¿ãæ¹ã®ãŸãšã
condaç°å¢ã®ä¿åãšåæ§ç¯ã®ä»æ¹
Anacondaã®ç°å¢ãã³ããŒãã
å
¬åŒããã¥ã¢ã«
[Python]Anacondaã§ä»®æ³ç°å¢ãäœã
-
ããŒã¿æ§é (ãªã¹ããšãæ°åãšããæ å ±)ãæååã«å€æããªãã§ä¿æã§ããããŒã¿åœ¢åŒã®ããšã
JSONãCSVãšåããããªãã®ã§ãæ¡åŒµåã¯ymlãäžè¬çã â©