Anacondaインストール後の挙動についてのメモ

anaconda_logo Anaconda
スポンサーリンク

こんにちは。カルークです。

今回は、AnacondaでPython開発する際のいくつかのコマンドの挙動について、備忘録を書きます。(自分用)

スポンサーリンク

実行環境

実行環境はこんな感じです。

  • Ubuntu 18.04 LTS (VirtualBox利用)
  • condanaのバージョン:4.8.2

前回、Ubuntu 18.04 LTS上にAnacondaをインストールしましたが、その状態になります。

condaコマンドのメモ

Anaconda上でPythonを使う際によく使うコマンドについて、備忘録をメモします。(上から順に実行しました)

condaバージョン確認

(base) caluke@caluke-VirtualBox:~$ conda -V
conda 4.8.2

pythonバージョン確認

(base) caluke@caluke-VirtualBox:~$ python -V
Python 3.7.6

python 3.7.6が入っています。

pipバージョン確認

(base) caluke@caluke-VirtualBox:~$ pip -V
pip 20.0.2 from /home/caluke/anaconda3/lib/python3.7/site-packages/pip (python 3.7)

importパッケージの参照先確認

(base) caluke@caluke-VirtualBox:~$ python
Python 3.7.6 (default, Jan  8 2020, 19:59:22) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> import pprint
>>> pprint.pprint(sys.path)
['',
 '/home/caluke/anaconda3/lib/python37.zip',
 '/home/caluke/anaconda3/lib/python3.7',
 '/home/caluke/anaconda3/lib/python3.7/lib-dynload',
 '/home/caluke/anaconda3/lib/python3.7/site-packages']

base環境はpython3.7なので、3.7系のlibが参照されています。

import済パッケージ一覧の表示

(base) caluke@caluke-VirtualBox:~$ pip list
Package                            Version            
---------------------------------- -------------------
alabaster                          0.7.12             
anaconda-client                    1.7.2              
anaconda-navigator                 1.9.12             
anaconda-project                   0.8.3              
argh                               0.26.2             
asn1crypto                         1.3.0              
astroid                            2.3.3              
astropy                            4.0                
atomicwrites                       1.3.0              
attrs                              19.3.0             
autopep8                           1.4.4              
Babel                              2.8.0              
backcall                           0.1.0              
backports.functools-lru-cache      1.6.1              
backports.shutil-get-terminal-size 1.0.0              
backports.tempfile                 1.0                
backports.weakref                  1.0.post1          
(長いので省略)

始めから入っているモジュール群です。

ちなみにconda環境だと、pip installではなくconda installを使う事があります。(conda installを使わないと環境が壊れることもあるそうで)

condaから出る

(base) caluke@caluke-VirtualBox:~$ conda deactivate
caluke@caluke-VirtualBox:~$

「(base)」が消えます。

condaに入る

caluke@caluke-VirtualBox:~$ conda activate base
(base) caluke@caluke-VirtualBox:~$ 

再びcondaに入ってみます。ここでは、デフォルトの(base)環境に入ります。「(base)」が復活しています。

condaの仮想環境一覧を見る

caluke@caluke-VirtualBox:~$ conda info -e
# conda environments:
#
base                  *  /home/caluke/anaconda3

まだ一度も作成していないので、デフォルトのbaseしか表示されていません。

condaの仮想環境を作る

myvenvという仮想環境を作ります。pythonのバージョンは特に指定しないでみます。

(base) caluke@caluke-VirtualBox:~$ conda create -n myvenv
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.8.2
  latest version: 4.8.3

Please update conda by running

    $ conda update -n base -c defaults conda



## Package Plan ##

  environment location: /home/caluke/anaconda3/envs/myvenv



Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate myvenv
#
# To deactivate an active environment, use
#
#     $ conda deactivate

途中、Proceed ([y]/n)?と聞かれるので、yを押してEnterします。

Executing transaction: doneが表示されたら、構築完了です。

作成した仮想環境に入る

(base) caluke@caluke-VirtualBox:~$ conda activate myvenv
(myvenv) caluke@caluke-VirtualBox:~$ 

冒頭にある(base)から(myvenv)に切り替わっています。

作成した仮想環境内でのPythonのバージョン確認

(myvenv) caluke@caluke-VirtualBox:~$ python -V

Command 'python' not found, but can be installed with:

sudo apt install python3       
sudo apt install python        
sudo apt install python-minimal

You also have python3 installed, you can run 'python3' instead.

python3と入力しないとpythonが使えないのか。(base環境では使えた)

(myvenv) caluke@caluke-VirtualBox:~$ python3 -V
Python 3.6.9

python3で実行できる。仮想環境構築時にpythonバージョン指定しないと、バージョンは3.6になる。(baseでは3.7だった)

condaの仮想環境を作る(pythonバージョンを指定してみる)

今度はpythonバージョンを指定して、myvenv_py35という仮想環境を作ってみる。(やや古いが3.5を構築)

(myvenv) caluke@caluke-VirtualBox:~$ conda create -n myvenv_py35 python=3.5
Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.8.2
  latest version: 4.8.3

Please update conda by running

    $ conda update -n base -c defaults conda



## Package Plan ##

  environment location: /home/caluke/anaconda3/envs/myvenv_py35

  added / updated specs:
    - python=3.5


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    certifi-2018.8.24          |           py35_1         137 KB
    ncurses-6.2                |       he6710b0_1         817 KB
    openssl-1.0.2u             |       h7b6447c_0         2.2 MB
    pip-10.0.1                 |           py35_0         1.6 MB
    python-3.5.6               |       hc3d631a_0        24.9 MB
    setuptools-40.2.0          |           py35_0         490 KB
    sqlite-3.31.1              |       h62c20be_1         1.1 MB
    wheel-0.31.1               |           py35_0          66 KB
    xz-5.2.5                   |       h7b6447c_0         341 KB
    ------------------------------------------------------------
                                           Total:        31.5 MB

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main
  ca-certificates    pkgs/main/linux-64::ca-certificates-2020.1.1-0
  certifi            pkgs/main/linux-64::certifi-2018.8.24-py35_1
  libedit            pkgs/main/linux-64::libedit-3.1.20181209-hc058e9b_0
  libffi             pkgs/main/linux-64::libffi-3.2.1-hd88cf55_4
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-9.1.0-hdf63c60_0
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-9.1.0-hdf63c60_0
  ncurses            pkgs/main/linux-64::ncurses-6.2-he6710b0_1
  openssl            pkgs/main/linux-64::openssl-1.0.2u-h7b6447c_0
  pip                pkgs/main/linux-64::pip-10.0.1-py35_0
  python             pkgs/main/linux-64::python-3.5.6-hc3d631a_0
  readline           pkgs/main/linux-64::readline-7.0-h7b6447c_5
  setuptools         pkgs/main/linux-64::setuptools-40.2.0-py35_0
  sqlite             pkgs/main/linux-64::sqlite-3.31.1-h62c20be_1
  tk                 pkgs/main/linux-64::tk-8.6.8-hbc83047_0
  wheel              pkgs/main/linux-64::wheel-0.31.1-py35_0
  xz                 pkgs/main/linux-64::xz-5.2.5-h7b6447c_0
  zlib               pkgs/main/linux-64::zlib-1.2.11-h7b6447c_3


Proceed ([y]/n)? y


Downloading and Extracting Packages
xz-5.2.5             | 341 KB    | ################################################################################################################################################################# | 100% 
setuptools-40.2.0    | 490 KB    | ################################################################################################################################################################# | 100% 
sqlite-3.31.1        | 1.1 MB    | ################################################################################################################################################################# | 100% 
ncurses-6.2          | 817 KB    | ################################################################################################################################################################# | 100% 
python-3.5.6         | 24.9 MB   | ################################################################################################################################################################# | 100% 
certifi-2018.8.24    | 137 KB    | ################################################################################################################################################################# | 100% 
wheel-0.31.1         | 66 KB     | ################################################################################################################################################################# | 100% 
pip-10.0.1           | 1.6 MB    | ################################################################################################################################################################# | 100% 
openssl-1.0.2u       | 2.2 MB    | ################################################################################################################################################################# | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate myvenv_py35
#
# To deactivate an active environment, use
#
#     $ conda deactivate

(myvenv) caluke@caluke-VirtualBox:~$ conda activate myvenv_py35
(myvenv_py35) caluke@caluke-VirtualBox:~$ 

バージョン指定しない場合と異なり、色々とパッケージがダウンロードされている。

再びバージョン確認。

(myvenv_py35) caluke@caluke-VirtualBox:~$ python -V
Python 3.5.6 :: Anaconda, Inc.

3.5になっているのが確認できる。また、先程はpython3と明示的に入力していたのがpythonだけでいけた。一応、python3と入力しても一緒。

(myvenv_py35) caluke@caluke-VirtualBox:~$ python3 -V
Python 3.5.6 :: Anaconda, Inc.

pipのinstall済パッケージを確認

(myvenv_py35) caluke@caluke-VirtualBox:~$ pip list
Package    Version  
---------- ---------
certifi    2018.8.24
pip        10.0.1   
setuptools 40.2.0   
wheel      0.31.1   
You are using pip version 10.0.1, however version 20.2b1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

base環境ではたくさんあったのに、かなり少なくなっている。condaのinstall済パッケージも同様。

(myvenv_py35) caluke@caluke-VirtualBox:~$ conda list
# packages in environment at /home/caluke/anaconda3/envs/myvenv_py35:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
ca-certificates           2020.1.1                      0  
certifi                   2018.8.24                py35_1  
libedit                   3.1.20181209         hc058e9b_0  
libffi                    3.2.1                hd88cf55_4  
libgcc-ng                 9.1.0                hdf63c60_0  
libstdcxx-ng              9.1.0                hdf63c60_0  
ncurses                   6.2                  he6710b0_1  
openssl                   1.0.2u               h7b6447c_0  
pip                       10.0.1                   py35_0  
python                    3.5.6                hc3d631a_0  
readline                  7.0                  h7b6447c_5  
setuptools                40.2.0                   py35_0  
sqlite                    3.31.1               h62c20be_1  
tk                        8.6.8                hbc83047_0  
wheel                     0.31.1                   py35_0  
xz                        5.2.5                h7b6447c_0  
zlib                      1.2.11               h7b6447c_3

conda create直後は基本的にまっさらな環境なので、下記でライブラリ群を引き継ぐことができる。

conda create -n <環境名> --clone <もとにしたい環境>

まとめ

Anacondaを使う時のコマンドを色々と入力してみて、挙動を確認しました。

タイトルとURLをコピーしました