Python3(Anaconda3) on Jupyter Notebook on Windows 11(仮想環境)
Python3(Anaconda3) on PyCharm on Windows 11(仮想環境)
GPUなしCPUマシン 間違いない方法を丁寧にこと細かく
◆◆Kali Linux on VertualBox on Windows 11◆◆
◆◆Ubuntu on VertualBox on Windows 11◆◆
仮想環境と言えば上の2つです。が,Windowsマシンでは難しすぎます。上の2つを使いたいなら最初からLinuxマシンを使うべきと考えます。
Windows上のPython3を仮想環境で使いたいなら,「Anaconda3」が最適です。開発ツールは大規模開発でなければ「Jupyter Notebook」で十分です。大規模開発であれば「PyCharm」を使ってください。
【重要な注意】「PyCharm」を使わないで,「Jupyter Notebook」だけで「Python3」を動かすのであれば「Anaconda3」をインストールだけで十分です。学生はこれだけで十分です。
「PyCharm」を使う場合,「Anaconda3」のPython3と紐付ける方法と,「Anaconda3」とは別にWebからPython3をダウンロードする方法があります。本記事では前者を採用します。
いずれにしても仮想環境を構築するのはインストールが終了してからです。「Jupyter Notebook」と「PyCharm」とは独立に仮想環境を構築します。
https://yamakatsusan.web.fc2.com/pythoninstallanacondaGPU.html
『Python3(Anaconda3) on Jupyter Notebook/PyCharm on Windows 11(仮想環境)on GPUマシン』
◆◆「Jupyter Notebook」「PyCharm」の使い方の研究◆◆
本記事では扱っていませんが,ググるのであれば,「Jupyter Notebook debug」「PyCharm debug」とすればよいです。
◆◆「Anaconda3」のダウンロード◆◆
GPUマシンでは簡単に最新バージョンを入れるわけにはいかない事情があるので,CPUマシンもGPUマシンと同じバージョンにすることにしました。
【重要な注意】NVIDIAのGPUを利用するのであれば,そのGPUドライバ,Python3,TensorFlow,LightGBMなどのバージョンの相性をよく検討することが必要になります。GPUを使わないのであれば,とりあえず最新のバージョンをインストールします。
「Anaconda3」ダウンロードページ
https://www.anaconda.com/download/(これではありません,ここは最新バージョンのみ)
ダウンロードファイル
Anaconda3-2023.09-0-Windows-x86_64.exe(バージョン3.11.5)(これではありません)
Google USAキーワード検索「anaconda3 python3.10 download」ですぐ見つかります。
https://www.softlay.com/downloads/anaconda
ダウンロードファイル
Anaconda3-2023.03-Windows-x86_64.exe(バージョン3.10.9)(これをインストール)
この後,モジュール(ライブラリ)のインストールまでGPUマシンもCPUマシンも同じです。
◆◆「PyCharm」のダウンロード◆◆
「PyCharm」ダウンロードページ
https://www.jetbrains.com/PyCharm/
ダウンロードファイル
PyCharm-community-2023.2.4.exe(とりあえず最新バージョン)
◆◆「Anaconda3」のインストール◆◆
ダウンロードしたファイルは,アカウントフォルダ直下のダウンロードフォルダ
C:\Users\Owner\Downloads\(Ownerはユーザーアカウント名に書き換えてください)
に入っています。
ダウンロードファイルのアイコンを右クリックして,プルダウンメニューの「管理者として実行」を左クリックすれば,インストールは始まります。
デフォルトでないところも少しあるので注意してください。
ログインしているアカウントだけにインストールします。
yamakは筆者のアカウント名です。実際はあなたのアカウント名になっているはず。
2番目の環境変数のPATHを通すのは必須です。後からいつでもマニュアルでできます。
Completedを確認してください。
この後の画面でFinishをクリックしてください。チェックを外さなくても「Anaconda Navigator」が起動するだけですので終了してください。
◆◆「PyCharm」のインストール◆◆
◆◆「Anaconda Prompt」上のcondaコマンド◆◆
「Anaconda3」の仮想環境は「Anaconda Prompt」でのcondaコマンドを使って構築します。使うcondaコマンドは次の通りです。
◆◆「Anaconda3」の仮想環境を構築◆◆
「Anaconda3」の仮想環境を構築すれば,仮想環境ごとに「Jupyter Notebook」がインストールされます。そしてそれに取り込まれるライブラリ(パッケージ)も仮想環境ごとにセーブされます。それらすべてのバージョンが保持されますので,そのまま外部に持ち出してもその動作が完璧に再現することができるのです。
「Anaconda3」の仮想環境を構築は「Anaconda Prompt」上のcondaコマンドの次の枠内の操作することによりできます。「Anaconda Prompt」の起動は,
タスクバーWindowsマーク > すべてのアプリ > Anaconda3(64bit) > Anaconda Prompt
「Anaconda Prompt」の操作は「>」(プロンプト)の後にコマンドをタイプします。普通はコピペします(例えば下の枠内から)。下の画面で「###」は「Anaconda Prompt」には無いもので後から書き足したコメントです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
### Anaconda仮想環境の一覧 (base) C:\Users\yamak>conda env list # conda environments: # base * C:\Users\yamak\anaconda3 ###本来は1つもないはず。仮想環境の構築と削除を繰り返した残骸かも。### 後の操作に何も問題はありません。 ### Anaconda3に仮想環境を作成,仮想環境の名称を仮に'project1'とする (base) C:\Users\yamak>conda create -n project1 python=3.10.9 jupyter Collecting package metadata (current_repodata.json): done Solving environment: done... ### Anaconda仮想環境の一覧して新しい仮想環境を確認 (base) C:\Users\yamak>conda env list # conda environments: # base * C:\Users\yamak\anaconda3 project1 C:\Users\yamak\anaconda3\envs\project1 ### environment_kernelsのインストール (base) C:\Users\yamak>pip install environment_kernels Collecting environment_kernels Using cached environment_kernels-1.2.0-py3-none-any.whl (31 kB) Installing collected packages: environment_kernels Successfully installed environment_kernels-1.2.0 ### Jupyter Notebookのconfig設定 (base) C:\Users\yamak>Jupyter Notebook --generate-config Writing default config to: C:\Users\yamak\.jupyter\jupyter_notebook_config.py ### C:\Users\yamak\.jupyter\jupyter_notebook_config.pyの先頭に ### NotePadで次の2行を書き足してください c.NotebookApp.kernel_spec_manager_class='environment_kernels.EnvironmentKernelSpecManager' c.EnvironmentKernelSpecManager.conda_env_dirs=['C:/Users/yamak/.conda/envs/'] ### 成功しない場合は「Jupyter Notebookのconfig設定」でググってください ### 作成した仮想環境に入る (base) C:\Users\yamak>conda activate project1 ### Anaconda仮想環境の一覧して作成した仮想環境に入れたのを確認 (project1) C:\Users\yamak>conda env list # conda environments: # base C:\Users\yamak\anaconda3 project1 * C:\Users\yamak\anaconda3\envs\project1 ### プロンプトの前に仮想環境の名称があることに留意 ### (base) のコマンドは最初の1回だけでよいかもしれません(確信はありません)
◆◆「Jupyter Notebook」の起動と仮想環境の構築◆◆
事前にプログラムファイルを入れておくワーキングフォルダを作成しておきます。「Anaconda3」と同じディレクトリが良いと思います。
C:\Users\yamak\pyexample
'yamak'は筆者のアカウント名ですのであなたのアカウント名にしてください。'pyexample'は任意です。仮想環境の名称でもかまいません。この中に「Jupyter Notebook」の.pynbファイルまたは「PyCharm」の.pyファイルを入れます。このフォルダの直下のディレクトリをツリーにしてもかまいません。
実は上の枠内の「Anaconda Prompt」の操作を実行するだけで「Jupyter Notebook」の仮想環境の構築は完了しています。仮想環境を複数構築したい場合は上の操作を繰り返します。ワーキングフォルダも仮想環境ごとに作成します。
【重要な注意】「Jupyter Notebook」「PyCharm」の仮想環境は,上に述べたように「Anaconda Prompt」で仮想環境の名称を設定します。
「Jupyter Notebook」の仮想環境では,ワーキングフォルダのディレクトリを指定することはありません。任意のディレクトリのワーキングフォルダに.ipynbファイルを置くことができます。「Jupyter Notebook」で.ipynbファイルを開いて,
メニューバーKernel→Change kernel→登録した仮想環境
という手順で事前に登録した仮想環境名称を選択できます。
「PyCharm」では,「Create Project」で「Interpreter」のディレクトリを設定するときに,anacondaの仮想環境のディレクトリを指定します。(あとで詳しく説明しますがこの画面では)次の2つが選択できます。anaconda3を使うのなら後者を,外部からPythonを導入するのなら前者を選択します。本記事では後者のanaconda3を使っています。
New environment using
Previously configured interpreter
「Interpreter」に次のような選択肢が表示されそれを設定します(後で紹介します)。ここでproject1は「Anaconda Prompt」で事前に設定された仮想環境名称です。yamakは筆者のアカウント名です。あなたのものに替えてください。「\」はバックスラッシュです。
c:\Users\yamak\anaconda3\envs\project1\python.exe
「Jupyter Notebook」の起動は,
タスクバーWindowsマーク > すべてのアプリ > Anaconda3(64bit) > Jupyter Notebook
上のターミナルと下の「Jupyter Notebook」ブラウザがほぼ同時に立ち上がります。ブラウザは複数立ち上げることが可能であり,1つ目は自動で立ち上がり,2つ目以降はWindowsマークから立ち上げたブラウザのURL窓に上の囲ったURLをコピペすれば「Jupyter Notebook」ブラウザになります。
「Jupyter Notebook」ブラウザの下半分にディレクトリ(フォルダ)が表示されており,ユーザーアカウント直下のanaconda3と事前に準備した(適当な名称の)ワーキングフォルダがあります。上のターミナルはそのままで,ワーキングフォルダをクリックして直下のディレクトリを表示します。
事前に用意された「Jupyter Notebook」の.pynbファイルまたは「PyCharm」の.pyファイルがあります。新しいプロジェクトを始める場合にも最低限動作する「main.py」を名称を替えて用意した方がよいと思います。ちなみに「main.py」は「PyCharm」の新しいプロジェクトの立ち上げ時に自動的に作成したファイルです。
この6つのファイルはこのWebの左上の「ダウンロード」からダウンロードできます。「main」以外のスクリプトは「トップページに戻る」でこの記事のトップページを表示すれば解説記事があります。
とりあえず「main.py」をクリックします。プログラムの内容は解説しませんが正しく動作しているようです。
Kernelカーネルを事前に用意した仮想環境project1(conda_は自動付加)を選択します。
「Jupyter Notebook」は,プログラムが書かれているセルが複数ある場合もあります。またセルごとにrunさせる場合は変数の値が記憶されています。それらを初期状態に戻しかつ複数のセル全部をrunさせるには「Restart & Run All」をクリックします。
出力はコードセルの下に表示されています。このファイルをセーブすれば出力も残り,そのままソースコードとrun結果;出力が1つのファイルになります。このままレポートとして使えます。
◆◆ライブラリ(モジュール)の取り込み◆◆
実を言うと上の操作では動作しない可能性があります。ライブラリ(モジュール)が不足している可能性があるからです。
仮想環境では仮想環境ごとにカーネルやライブラリ(モジュール)が保持されていて,それらのバージョン管理をしなくても動作確認済みのものをそのまま外部に持ち出すことができ再現性もあります。
プログラムの内容の解説はしませんが,ファイル「3Dplot.ipynb」「fourier_transform.ipynb」にimportされているライブラリは「Anaconda Prompt」で取り込みます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
### Anaconda仮想環境の一覧して新しい仮想環境を確認 (base) C:\Users\yamak>conda env list # conda environments: # base * C:\Users\yamak\anaconda3 project1 C:\Users\yamak\anaconda3\envs\project1 ### 作成した仮想環境に入る (base) C:\Users\yamak>conda activate project1 ### Anaconda仮想環境の一覧して作成した仮想環境に入れたのを確認 (project1) C:\Users\yamak>conda env list # conda environments: # base C:\Users\yamak\anaconda3 project1 * C:\Users\yamak\anaconda3\envs\project1 ### プロンプトの前に仮想環境の名称があることに留意 ### 仮想環境に入ったままimportされるライブラリ(パッケージ)を取り込む (project1) C:\Users\yamak>conda install numpy ... (project1) C:\Users\yamak>conda install matplotlib ... (project1) C:\Users\yamak>conda install scipy ... (project1) C:\Users\yamak>conda install mpl_toolkits ...
「Jupyter Notebook」で動作を確認してください。
◆◆「PyCharm」の起動と仮想環境の構築◆◆
インストールした後の最初の起動で出るメニューです。過去の遺産がなければこの選択になります。
これも最初の1回だけのメニューです。仮想環境を構築するために「New Project」を選びます。
画面の背景が黒色になる場合があります。白色にしたい場合は「Customize」で修正できます。
「New Project」を選んだ直後,最初に紐付ける「Python3」を選びます。
「New environment using」ではWebから新しい「Python3」をダウンロードします。本記事では採用しません。「Anaconda3」をインストールしないのであればそれもいいかもしれません。
「Previously configured interpreter」ではあなたパソコンの既存の「Python3」を使います。もちろん「Anaconda3」のことです。「Jupyter Notebook」も使えますのでこちらの方を強くお勧めします。
「Add interpreter」をクリック。
「Virtual Environment」を選び,「Existing」を選び,「Anaconda3」のディレクトリの「python.exe」を見つけます。見つからない場合は「Anaconda3」が壊れています。再インストールは簡単なはずです。
前の画面に戻ったら,「Location」で事前に用意したワーキングフォルダのディレクトリを見つけます。「Jupyter Notebook」と同じであっても違っていてもどちらでも良いです。使うファイルが違うので混乱することはないでしょう。
最初の何も設定していない画面では「Location」はフォルダ「PyCharmProjects」をユーザーアカウント直下に作成していました。何も設定しないと「PyCharm」で作成したソースファイル(スクリプトファイル)はデフォルトでここに格納されます。上で説明したように新しくワーキングフォルダを作るか否かは好みです。
最後に「Create」をクリック。
interpreterのバージョンは最新の3.11ではなく3.10にダウングレードしました。
「Location」で指定したワーキングフォルダが立ち上がります。同時に「main.py」が作成されます。これは最もベーシックなPythonプログラムです。
「main.py」が作成されるのはいくつか前の画面で設定したからです。これにソースコードを書き足すこともできますし,予め作成したソースコードを表示することもできます。
【重要な注意】「Jupyter Notebook」や「PyCharm」で作成したソースコードファイル(スクリプトファイル)の文字コードは「UTF-8」BOMなしです。アプリによっては「UTF-8N」と表示されます。
他のテキストエディタで作成したファイルは「シフトJIS」の場合が多いので「UTF-8」BOMなしに予め変換しておいてください。
【重要な注意】リファクタリングの勧め:本来の意味と少しズレるのですが,プログラムのデバッグの方法の1つで,完全に動作することが判っているソースコードをデバッグしながら動作を確認して少しずつ完成させていくものです。
ソースコードをゼロから書き,数十行できたころいざデバッグしようとしてもどこから手をつけてよいか判らずお手上げになります。
リファクタリングでは,たとえば「main.py」のように,1つのメインと1つのdef関数から始めます。def関数は1つのprint文や1つのreturn文から始めて,そのdef関数が本来の仕様になるまで少しずつプログラムを書き足していくのです。書き足すたびに動作を確認します。
複雑なプログラムでも似たような仕様で動作確認が終わっているコードから始め,リファクタリングしていきます。こうすれば途中であまりなやむことなくストレスなくデバッグを完成することができます。そして何よりもスパゲッティプログラムにならないでしょう。
ファイル名をクリックすれば右ペインにソースコードが表示されます。
左上のメニュー記号をクリックすると最上のラインにメニューが表示されます。
どんなスクリプトでもプログラムを一気通貫でrunさせる操作は同じです。
Run → Run...でファイル名を選びます。1度でもrunさせたファイルは上の画面のようにファイル名が出てくるのでそれを選びます。
「main.py」はライブラリ(パッケージ)を使っていないので(import文がない),runは成功するでしょう。結果は下のペインに出力されています。
「PyCarm」もターミナルが使えます。下のペインの左下のターミナルマークをクリックします。「>」(プロンプト)の前はワーキングフォルダのディレクトリであり,その前に仮想環境の名称が表示されています。
このままcondaコマンドを使ってライブラリ(パッケージ)を取り込むことができます。具体的なコマンドは「Jupyter Notebook」の「Anaconda Prompt」と同じで上に紹介しました
ライブラリ(パッケージ)を取り込む方法は他にもあり,他のWebではグラフィカルなマウスで操作する方法が多いと思いますが,筆者としてはターミナルを使うことをお勧めします。
【重要な注意】「Anaconda Prompt」ターミナルと「PyCarm」ターミナルとは違うものです。「Anaconda3」「PyCarm」のそれぞれの仮想環境で使い分けてください。そして仮想環境の名称が表示されている「>」(プロンプト)にタイプ(コピペ)することが肝要です。
◆◆少しインストールを進めてみましょう◆◆
$ conda update conda('$'はプロンプトのつもり)
$ conda install -c conda-forge lightgbm
◆インポート名とインストール名が一致しないもの◆
$ conda install scikit-learn(import sklearnでエラー)
$ pip install --upgrade pip --user(1行目はおまじない)
$ pip install opencv-python(import cv2でエラー)
$ conda install theano
$ conda install pygpu
$ pip install pymc3
これで起動と仮想環境の構築の解説は終わりです。
◆◆「Jupyter Notebook」「PyCharm」の使い方の研究◆◆
本記事では扱っていませんが,ググるのであれば,「Jupyter Notebook debug」「PyCharm debug」とすればよいです。
(2023-12-31追記)
◆◆.ipynbファイルを「Jupyter Notebook」で起動する◆◆
いくつか方法があるのですが,
◆①「Jupyter Notebook」を起動して.ipynbファイルのディレクトリをたどる◆
タスクバーwindowsマーク→すべてのアプリ→Anaconda3→Jupyter Notebook
ブラウザに「Jupyter Notebook」が立ち上がり,url窓は「http://localhost:8888/tree」となっています。
anaconda3がインストールされているユーザーアカウント直下のディレクトリ(フォルダ)が表示されているので,起動しようとしている.ipynbファイルがあるフォルダをディレクトリをたどってWクリックで開けていきます。
最後に,起動しようとしている.ipynbファイルをWクリックで開けます。
◆②「Jupyter Notebook」を起動して.ipynbファイルのディレクトリを貼り付ける◆
先に起動しようとしている.ipynbファイルのディレクトリをコピペします。.ipynbファイルを右クリックして,
プルダウンメニュー→プロパティ→場所:
それをコピーします。ドラッグして全体がハイライトできないときはShift+▶で広げてCtrl+Cでコピーします。筆者の例として,
"C:\Users\yamak\MyHome HP\hp_software_work\HP_Python\HP01_3Dプロット\01_3Dplot"
"yamak"は筆者のユーザーアカウントであり,Anaconda3のインストールフォルダなのでここまでは使わず,この後のディレクトリを使います。
①と同じ方法で「Jupyter Notebook」を立ち上げ,url窓の「http://localhost:8888/tree」の後に,例として,
"\MyHome HP\hp_software_work\HP_Python\HP01_3Dプロット\01_3Dplot"
をペーストします。実際には全部をペーストしてからいらないところを消すのが良いと思います。
この方法はディレクトリをコピペした.ipynbファイルしか起動できません。①の方法は近くのディレクトリの.ipynbファイルも起動できますのでそちらをお勧めします。
◆◆.pyファイルを「PyCharm」で起動する◆◆
「PyCharm」で仮想環境を構築するには,「Anaconda Prompt」で事前に仮想環境を構築しておいて,「PyCharm」でワークフォルダのある「Location」を選択します。
そうすれば「PyCharm」の左ペインに自動的に「Location」で選択したディレクトリが表示されます。そのディレクトリをたどれば起動しようとしている.pyファイルが表示されます。
それをWクリックで右ペインに表示します。左上隅の4本線のメニューアイコン→Runプルダウンメニュー→Run...→.pyファイルを選択
で起動します。2回目からはプルダウンに"Run.pyファイル"が出るのでそれをクリックすればよいです。
仮想環境の構築が事前に終了している場合は,左上隅の4本線のメニューアイコンの右側に「Location」の選択肢がプルダウンメニューにありますので選択(クリック)してください。
◆◆.pyファイルをターミナル「Anaconda Prompt」で起動する◆◆
.pyファイルはスクリプトともモジュールとも言います。「PyCharm」で起動する方が簡単なのですが,ターミナル「Anaconda Prompt」で起動する方法を説明します。
$ python 3Dplot.py($はプロンプトのつもり)
とするだけなのですが,プロンプトの前は.pyファイルのあるフォルダのディレクトリである必要があります。
(project1) C:\Users\yamak>cd MyHome HP(cd ; change directory)
というようにディレクトリをたどる方法もありますが,一発でできる方があります。
(project1) C:\Users\yamak>cd (スペースを忘れずに)
というようにプロンプトの後に”cd ”をタイプしてから,.pyファイルがあるフォルダのアイコンを「Anaconda Prompt」のどこでもよいからドラッグ&ドロップすると,
(project1) C:\Users\yamak>cd "C:\Users\yamak\MyHome HP\hp_software_work\HP_Python\HP01_3Dプロット\01_3Dplot"
となりますので,Enterすると,
(project1) C:\Users\yamak\MyHome HP\hp_software_work\HP_Python\HP01_3Dプロット\01_3Dplot>
となりますので,
$ python 3Dplot.py($はプロンプトのつもり)
とタイプすれば.pyファイルを起動できます。
さて,ディレクトリを遡さかのぼる方法は,
$ cd .. または $ cd ../
とします。また,行きたいフォルダのアイコンをドラッグ&ドロップしてもよいです。