【python】Anacondaでpython環境を整える。

Anaconda

どうもヤマモトです。

今日はアオアシとダンス・ダンス・ダンスールの最新刊の発売日ということで、深夜に電子書籍をぽちっとした後、夜更かししてしまった。。。

面白いのは止められない。

さてさて。掲題の本題に移りたいわけだが、
先日、「pythonで記事の自動化をやりたい!!!」ということで目標設定の記事を書いた。

某記事

こんくらいさくっと作れや!! って思う人もいそうだが、
そもそも自宅PCのpython環境どうなってたっけ?? と現状確認から始め、ちょっと環境を整えた方がよさそうだったので、今回はその備忘録を残していこうと思う。

Anaconda環境の現状確認

Anacondaを入れたのはいつだったっけ。。。
たしか3年くらい前にudemyの研修かなんかで入れたんだよな。。。

まあ、入れ方はどこにでも検索すればどこにでも転がっているので、適宜調べてください。
ここでは、当時入れたときに参考にしたページを貼っとく。

とりあえず、ヤマモトのWindows11のPCにはCドライブのユーザ配下にインストールされていることは確認できた。

anacondaのインストール先

仮想環境の確認

condaだと仮想環境を作れるので、例えばpythonのバージョンとか使用するモジュールを合わせたりするときに作ったりする。

作成や確認はAnaconda Promptでできる。Anacondaを入れると標準で入っているはず。

(base) C:\Users\ヤマモト>conda info -e
# conda environments:
#
base                  *  C:\Users\ヤマモト\anaconda3
py37                     C:\Users\ヤマモト\anaconda3\envs\py37
py38                     C:\Users\ヤマモト\anaconda3\envs\py38

なるほど。おそらく当時python3.7と3.8で環境を分けてたんだろうな。

condaとpythonのアップデート

pythonは2022/8現在、3.10台までリリースされている。

大したプログラムを作るわけじゃないが、脆弱性があったパッケージも含まれたりするので、一応アップデートをかけておく。コマンドは以下のページを参照。

condaのアップデート

仮想環境を作ろうとしたら、condaのバージョンが古いよと警告が出たので、baseのアップデートからやってみる。

(base) C:\Users\ヤマモト>conda create -n py310 python=3.10
Collecting package metadata (current_repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.10.3
  latest version: 4.14.0

## 新しいバージョンがあるよ、と警告が出てる


Please update conda by running

    $ conda update -n base -c defaults conda
## アップデートしたかったらこのコマンドを打てとのことらしい。
(base) C:\Users\ヤマモト>conda update -n base -c defaults conda
## 省略 ##

(base) C:\Users\ヤマモト>conda --ver
conda 4.14.0
# アップデートできた

python3.10で仮想環境を作る

(base) C:\Users\ヤマモト>conda create -n py310 python=3.10
## 省略 ##

done
#
# To activate this environment, use
#
#     $ conda activate py310
#
# To deactivate an active environment, use
#
#     $ conda deactivate

Retrieving notices: ...working... done

無事できたっぽい。早速activateさせてみる。

(base) C:\Users\ヤマモト>conda activate py310

(py310) C:\Users\ヤマモト>conda list
# packages in environment at C:\Users\ヤマモト\anaconda3\envs\py310:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                he774522_0
ca-certificates           2022.07.19           haa95532_0
certifi                   2022.6.15       py310haa95532_0
libffi                    3.4.2                hd77b12b_4
openssl                   1.1.1q               h2bbff1b_0
pip                       22.1.2          py310haa95532_0
python                    3.10.4               hbb2ffb3_0
setuptools                63.4.1          py310haa95532_0
sqlite                    3.39.2               h2bbff1b_0
tk                        8.6.12               h2bbff1b_0
tzdata                    2022a                hda174b7_0
vc                        14.2                 h21ff451_1
vs2015_runtime            14.27.29016          h5e58377_2
wheel                     0.37.1             pyhd3eb1b0_0
wincertstore              0.2             py310haa95532_2
xz                        5.2.5                h8cc25b3_1
zlib                      1.2.12               h8cc25b3_2

## 一応パッケージのアップデートをする。
(py310) C:\Users\ヤマモト>conda update --all
Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.

## 全部最新版なので何もしない。

Retrieving notices: ...working... done

よし、とりあえずpythonは使える状態だ。

Jupyter Labの起動

テキストエディタでコーディングしてもいいが、せっかくanaconda入っているわけだし、Jupyter notebookとかJupyter Labとか使いたい。

ヤマモトはLab派なのでそっちを使ってみる。

ちなみに、Jupyter Labについては解説記事をご参照あれ。

簡単に言うと、対話形式でコード書きながら実行や描画もできる統合環境のこと。

仮想環境にJuputer Labをインストール (2022/9/11 追記)

Jupyterはnumpyとかと同じモジュールでまとまっているので、仮想環境を作ったら個別にインストールしないといけない。

(py310) C:\Users\ヤマモト>conda install jupyter

仮想環境から起動

(py310) C:\Users\ヤマモト>jupyter lab
jupyter labの起動画面

無事起動・・・なんだが、トップディレクトリがユーザフォルダ配下のままだ。

ファイルを開く場所とかは指定できるのだが、ユーザディレクトリ直下というのも気持ち悪いし、起動後にわざわざフォルダを移動するのもなんかめんどくさい。

ということで、起動時のデフォルトパスを変更していく。

起動パスの変更

以下のサイトを参考にしながら修正していく。

※ NotebookもLabも参照するconfigは一緒。

まずはconfigファイルを作成。

(py310) C:\Users\ヤマモト>jupyter lab --generate-config
Overwrite C:\Users\ヤマモト\.jupyter\jupyter_notebook_config.py with default config? [y/N]y
Writing default config to: C:\Users\ヤマモト\.jupyter\jupyter_notebook_config.py

ヤマモトの場合は昔configファイルを作っていたので上書きされるかを聞かれている。
新規作成ならすんなりできる。

その後、作成されたパスに行き、jupyter_notebook_config.pyのファイルをテキストエディタで開く。

開いた後、以下の箇所にデフォルトで開きたい箇所のパスを記載する。
その際、コメントアウトも外すのを忘れないように。

before

## The directory to use for notebooks and kernels.
#c.NotebookApp.notebook_dir = ''

after

## The directory to use for notebooks and kernels.
c.NotebookApp.notebook_dir = 'C:\\Users\\ヤマモト\\OneDrive\\Documents\\python\\ipynb'

windowsの場合は「\」をエスケープ処理しないといけないので、「\\」と記入している。
また、ヤマモトの場合は自動でバックアップや他環境でも開けるようにしたかったので、OneDrive配下にフォルダを作って、そこをデフォルトで参照するようにした。(地味に便利)

再度、Jupyter Labを起動するとこんな感じ。

Jupyter Lab起動画面(after)

Untitled.ipynbは試しに作ったファイルだが、ちゃんとOneDriveの指定したフォルダに作成されていた。

Untitled.ipynbの保存場所(OneDrive)

Jupyter Labをバッチで起動できるようにする

いちいちプロンプトを開いて、仮想環境をactivateして、jupyter labと打ち込んで、、、ってやるのはめんどくさい!!!

ということで、これらの処理をバッチ化しちゃう。

参考にしたのは以下のサイト。Qiitaってなんでもあるなあ。

拡張子.batのファイルを作って、「JupyterLab_Run.bat」とか適当な名前を付ける。
中身のコードはこんな感じで書いておく。

call conda activate py310 ##最後は環境名##
jupyter lab

あとはダブルクリックで起動するかテスト。無事起動。

ヤマモトはデスクトップはスッキリさせたい派なので、ディレクトリに保存した後ショートカットを作ってタスクバーにリンクを作った。

やり方はこの辺りを参考に。


疲れたああああああ

環境整備だけで終わっちゃったよ。

次回はいよいよコーディングに移れると良いなあ。

コメント

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