Welcome to Mashykom WebSite


Python の仮想環境の構築


 Pythonのバージョンアップが積極的に展開されている中で、応用ライブラリの開発はPythonのバージョンアップに対応できていないという現状があります。従って、Pythonだけをバージョンアップすると、使用していたライブラリの利用でエラーが出たりします。こうした問題を回避するために、仮想環境を構築する方法が採用されます。つまり、1台のPC内にPythonの各バージョンに対応した環境、Python3.7 を使用できる世界、Python 3.8 を使用できる世界、というようにバージョンごとの世界を複数構築します。これを仮想環境と呼びます。

 Python の仮想環境を構築する方法は複数あります。venv と pyenv が代表的な仮想環境の作成手法だと思います。更に高度なことができる pipenv というツールもあります。これらのツールは、システムPython とは別の Python をインストールするのに便利なツールです。ここでは、venv と pyenv を用いた仮想環境を作成する手続きについて説明します。使用しているPCは MacOS 12.2.1 です。

 機械学習などでの Python 利用では、Jupyter Notebook と呼ばれるソフトが必須となってきています。Jupyter Notebookとは、ブラウザ上で動作するプログラムの対話型実行環境です。ノートブックと呼ばれるファイルにpythonなどのプログラムを記述し、実行結果を逐次確認しながら、データ分析を進めることができます。対話型の開発環境であるため、前の実行結果に応じて、次に実行するプログラムや作業を選択できます。Jupyter Notebook のインストールと使用法についても簡単に説明します。

 PyCharm という Python のための統合開発環境(IDE)があります。ここではインストールについて簡単に説明します。詳しい説明に興味ある方は、PyCharmの公式サイトの説明を読んでください。また、Microsoft社のプログラミング用テキストエディタ Visual Studio Code (VS Code) を用いて、Pythonのプログラムを開発できます。Visual Studio Code のWebサイト より Download for Mac or Windows をクリックしてVS Codeをダウンロードできますが、ここではVS Codeの説明は省略します。


Last updated: 2022.9.20(first uploaded)


システム Python のインストール


 macOS の場合、Homebrew が利用できます。Windows 、および、Ubuntu などのOSにおける Python のインストールについての説明は、日本語版Python情報のサイトにおいて詳しく説明されていますので、そちらを参照ください。Ubuntu 上での Python の環境構築については、このページも併せて参照ください。

 MacOS のターミナルで、以下のコマンドを入力します。


$ brew install python3
$ which python3
$ python3 --version 
$ pip3 --version

 最新版の Python が /usr/local/opt/ にインストールされます。Homebrew を使用しないときは、パスの設定が必要です。

 Python を起動します。


$ python3
Python 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> quit()
$ 

 Python 3 を実行するとき、python3 と入力しないと、Python 2 バージョンが起動します。

 上記のように、brew install python で Python 3.10 がインストールされます(2022年8月以降、python3.10 になります)。Tensorflow 用に Python 3.9 以下のバージョンをインストールする必要があります。そのときは、以下のようにします。


$ brew install python@3.9 #python@3.9のインストール
$ which python3
$ python3 --version

 この場合、Python3.9を実行する python3.9 コマンドは、/usr/local/bin ディレクトリに登録されないので、次のように手動で登録しておきます。macOS の最新バージョンからは、自動で登録されます。


$ ln -s /usr/local/opt/python@3.9/bin/python3.9 /usr/local/bin/python3.9

 複数バージョンのPython3をインストールしている場合は、python3.9、python3.10 のように、コマンドファイル名で使い分けるようにします。


$ python3.9
Python 3.9.14 (main, Sep 6 2022, 23:29:09)
[Clang 13.1.6 (clang-1316.0.21.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>


Pyenv による仮想環境の構築


 Python の仮想環境を構築する方法は複数あります。venv と pyenv が代表的な仮想環境の作成手法だと思います。更に高度なことができる pipenv というツールもあります。この節では、pyenv を用いた仮想環境を作成する手続きについて説明しますします。pyenvは、システムPython とは別の Python をインストールするのに便利なツールです。Ubuntu での仮想環境の構築については、PyenvによるPython環境の構築のページを参照ください。

 既にインストールされている pyenv を消去しておきます。


$ rm -rf ~/.pyenv

 pyenv のダウンロードと更新をします。仮想環境を ~/.pyenv 以下に作成します。


$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ cd ~/.pyenv
$ git pull

 git pull はpyenvのアップデートをするためです。名称 pyenv は任意ですが、通常、この通りにします。Mac では brew コマンドを用いて


$ brew update
$ brew install pyenv

 としてインストールできます。Windows PC でのインストールについては公式サイトを参照ください。

 pyenv がインストールできたら、パス設定をします。bashrc あるいは bash_profile ファイルに以下のパス設定を追加します。


#setting for PATH for pyenv
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/._profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

 ここで、pyenv を使用して、システム Python とは別に Python 3.9.x をインストールします。Tensorflow は Python 3.9 以下をサポートしてます。(2022年9月現在)新しく端末を開いて、システム python のバージョンを確認してみる。


$ which python3
$ python3 --version 

インストールできる Python 3.9 のバージョンの確認をします。


$ pyenv install -l | grep 3.9

 Python 3.9.4 をインストールします。


$ pyenv install 3.9.4

 Python のパッケージが .pyenv/versions/3.9.4 ディレクトリにインストールされます。仮想環境 3.9.4 にpip, setuptools をインストールします。「pyenv shell 3.9.4」コマンドで仮想環境3.9.4に切り替えます。


$ pyenv shell 3.9.4
$ python -m pip install -U pip setuptools

 Python 環境の切り替えは次のようなコマンドで行います。


$ pyenv shell system (システムPythonに切り替え)

$ pyenv shell 3.9.4  (.pyenvのPython 3.9.4 に切り替え) 

$ pyenv global 3.9.4 (PC 全体でPython 3.9.4を使用するとき)

 デフォルトで pyenv 環境下の Python 3.9.4 を使いたいときは, 次のように設定します。


$ echo 'pyenv shell 3.9.4' >> ~/.bash_profile
$ exec $SHELL -l

 この設定をすると、ターミナルの起動後に システム Python ではなく、pyenvのpython3.9.4 が起動可能になります。

 この状態で使用できるPythonのバージョンを確認します。


$ pyenv versions

----
 system
* 3.9.4 (set by /Users/koichi/.pyenv/version)

 * 印がついたバージョンがデフォルトで使用できる Python になります。

 Python 3.9.4 を起動してみよう。pyenv 環境下で Python 3.9.4 に切り替えてから、python を起動します。


$ pyenv shell 3.9.4
$ python

Python 3.9.4 (default, May 15 2021, 14:49:04) 
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 
>>> quit()
$ 

 上記の手続きでエラーが出るときには(以下のインストールをしなくてもエラーが出ないと思いますが、念のために)以下の依存モジュールをインストールします。Xcode Command Line Tools をインストールしたのち、


$ brew install openssl readline sqlite3 xz zlib tcl-tk

 と依存関係のあるモジュールをインストールしてエラーが出ない環境にします。

 Ubuntu/Debian/では


$ sudo apt-get update; sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev

 と依存モジュールをインストールして、pyenv の環境設定でエラーが出ないようにします。


 なお、pyenv で Anaconda をインストールすることもできます。以下のようにします。


$ pyenv install -l

...
...
anaconda3-5.3.1
...
...

$ pyenv install anaconda3-5.3.1

 インストールしたAnaconadのバージョンを確認します。


$ pyenv versions

----
*system
3.9.4 
anaconda3-5.3.1

 こうして、Anaconda環境下での仮想環境を作成することができます。


Venv を用いた仮想環境の構築


 MacOS には Python 3.x がプリインストールされているので、venv を用いた 仮想環境を構築するために、


$ python3 -m venv .venv 

 と入力して、仮想環境を .venv 内に作成します。このコマンドは、指定したディレクトリ ~/.venv に仮想環境を作成します。仮想環境のディレクトリ名は、 .venv 以外でも、好きな名前をつけても大丈夫です。 MacOS においてvenv を用いた 仮想環境を構築する手続きはPython環境構築ガイド: macOS環境のPythonに説明があります。Ubuntu におけるvenv を用いた仮想環境の構築についてはUbuntu 環境の Python を見てください。

 作成した仮想環境 .venv ディレクトリにある bin/activate を、. または source コマンドで実行して、仮想環境に切り替えます。


$ source .venv/bin/activate  # sh, bash, ksh, or zsh
(venv) $ 

 コマンド プロンプトの先頭に (venv) と表示され、仮想環境で実行中であることがわかります。pip をアップグレードするときは、以下のように打ちます。その後、仮想環境用の Python モジュールをインストールします。 pip list は site-packages にインストールされたモジュールの一覧を表示します。


(venv) $ python3 -m pip install --upgrade pip

(venv) $ pip list  # show packages installed within the virtual environment

 仮想環境からシステム Python を使用する通常の状態に切り替えるときは、deactivate コマンドを実行します。


(venv) $ deactivate  # don't exit until you're done using TensorFlow

$  #このシェルプロンプト状態では .venv にインストールしたPythonは使用できません。

 Python のモジュールをインストールするときは、以下のようにします。


$ source .venv/bin/activate
(venv)$ python3 -m pip install numpy scipy pillow pydot matplotlib seaborn scikit-learn scikit-image keras pandas opencv-python

 機械学習で必要とされる主要なパッケージが仮想環境下にインストールされます。

 続けて、Python を起動して、NumPy のバージョンの確認をします。


(venv)$ python3
Python 3.9.4 (default, May 15 2021, 14:49:04)
[Clang 12.0.0 (clang-1200.0.32.29)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> np.__version__
'1.20.3'
>>> quit()
(venv)$

 複数のバージョンのシステムPython をインストールしている環境では、使用する Python を指定して仮想環境を作成できます。

 Python 3.7とPython 3.8がインストールされた環境で、Python 3.7の仮想環境を作成する場合は、python3.7 を使って次のように指定します。ここでは、仮想環境をディレクトリ py37env に作成します。


$ python3.7 -m venv py37env

 ここで作成した py37env を使用すると、python 3.7の仮想環境に切り替わります。

 以上で、複数種類のPython を使用できる仮想環境が構築できました。


Jupyter Notebookの使い方



 Jupyter Projectにより開発されているJupyter Notebookは、インタラクティブなシェル環境で、ブラウザ上でソースコードを記述し、実行結果を確認しながらドキュメント、数式、画像を含めて一つの「ノートブック」にまとめて、保存することを可能にします。

 JupyterLab は、Project Jupyter の次世代の Web ベースのユーザー・インターフェイスです。その柔軟なインターフェイスにより、ユーザーはデータ サイエンス、科学計算、計算ジャーナリズム、および機械学習のワークフローを構成および調整できます。これにより、Jupyter Notebook、テキスト エディター、ターミナル、カスタムコンポーネントなどのドキュメントやアクティビティを、柔軟で統合された方法で操作できます。それゆえ、JupyterLab は、Jupyter Notebook の作成と操作に使用される次世代インターフェイスの 1 つになっています。


$ python -m pip install --upgrade pip
$ python -m pip install jupyterlab jupyter notebook spyder

とコマンドを入力し、Jupyter Notebookをインストールします。Jupyter Notebook だけを使用するときは、 jupyterlab および spyder をインストールする必要はありません。

 Jupyter Notebookを起動するためにはTerminal上で


$ jupyter notebook

とコマンドを入力します。以下の様に、jupyter notebookのダッシュボードがデスクトップに表示されます。

 右上に位置する[new]をクリックして、[python3]とします。ノートブックが起動しますので、作成してある[file]を開くか、あるいは、セルに新しいコードを記述します。セルの実行は実行したいセルを選択して、「Run」(run cell)をクリックします。

 Jupyterは、Cellという箱の中に、Codeや説明(Markdown)を記載していき、順次実行させて動かします。色々なiconが表示されていますが、主要な機能は以下の通りです。

 これらの機能は使用してみないとわからないので、以下のPythonコードの実行で順次使ってみてください。

 枠取りの付いたセルにコードを書き込んで実行する、あるいは、複数個のセルにスクリプトを書き込んで、上から順番にセルのコードを実行します。この作成した(複数個のセルから構成される)ノートをファイルとして保存します。初期名称はUntitledとなっていますので、必要な名前に変えます。ファイルの拡張子はipynbとなっています。保存記号アイコンをクリックして保存すると、homeディレクトリに保存されます。Webブラウザで作業しているので、[File]-[Download as]とクリックすると、NotebookはPCのDownloadsディレクトリにダウンロードされて保存されます。Jupyter Notebookを終了させるときは、ファイルを保存して、[File]-[Close and Halt]とクリックしてください。右上にある「ログアウト」->「終了」で終了します。また、ターミナルで[Ctrl+c]を入力して、カーネルの作動も終わらせることできます。

 jupyter notebook を実際に使用するために、以下の例を使います。このスクリプトを新しいNotebookのセルにコピペして、実行[run cells]してください。


# how to use the index
name = ["cheese", "John"]
print (name[1],name[0])

x=["spam","spam","spam","spam","spam","egg","and","spam"]
print (x[5:7])
print (x[5],x[6],x[7])

John cheese
['egg', 'and']
egg and spam

 と表示されたら、実行が正常に作動したので成功です。

 jupyterlab を起動するときは、


$ jupyter-lab

 と入力します。jupyter-lab の中で Jupyter Notebook機能も使用できます。なお、Spyder というpython用のエディターも利用したいときは、Spyder をインストールしてください。Spyder を使用するときは、ターミナルで spyderと入力する。


$ spyder

 このように、エディターとipython カーネルがデスクトップに表示されます。

 セルにMarkdown形式記述する方法の説明は、Markdownの規則のページを参照ください。


PyCharm のインストール



 PyCharm は、Python 開発者に幅広い必須ツールを提供する専用の Python 統合開発環境(IDE)であり、緊密に統合されて、生産的な Python、Web、およびデータサイエンス開発のための便利な環境を作成します。

 推奨されているOSは最新の 64 ビットバージョンの Windows、macOS、または Linux (たとえば、Debian、Ubuntu、RHEL など)です。PyCharm の Web ページを開き、「ダウンロード」をクリックします。Community(無料かつオープンソース(英語))版をインストールします。MacOSのケースでは、Intel および Apple Silicon プロセッサー用に別々のディスクイメージがあります。対応するインストーラー .dmg をダウンロードします。ダウンロードが開始します。通常のアプリと同様の手続きでインストールできます。

 インストールしたら、Pycharmを起動します。PyCharmはデフォルトで日本語表示となっていません。日本語表示にしたい場合は、プラグインを適用します。Welcome 画面または Settings/Preferences から Plugins を開きます。Marketplace の検索で "japan" と入力して、Japanese Language Pack の Install ボタンクリックします。Restart IDE ボタンをクリックして再起動します。

 PyCharm で行うすべてのことは、プロジェクトのコンテキスト内で行います。これは、コーディング支援、一括リファクタリング、コーディングスタイルの一貫性などの基礎として機能します。IDE 内でプロジェクトの作業を開始するには、3つのオプションがあります。

 PyCharm で Python コードを操作するには、少なくとも 1 つの Python インタープリターを構成する必要があります。インストールした既存の Python インタープリターを使用可能インタープリターとして使用できます。システム Python と異なるインタープリターを設定するときは、以下のようにします。

 新規プロジェクトを開き、PyCharm -> Preferences とクリックして、または、「⌘ ,」 を押して IDE 設定を開き、Python インタープリターの項目に行く。「以前構成されていたインタープリター」をクリックして、Pythonインタープリターのウインドウでインタープリターのリストを展開し、すべて表示リンクをクリックします。この中から選択します。Python インタープリターの更新は時間がかかります。PycharmProjects ディレクトリ内にPython インタープリターに必要なモジュールがインストールされます。

 プロジェクトを開き、実行したいPythonスクリプトを開きます。

 「main」と表示されているウインドウでスクリプトを選択して、右上の実行ボタン「▶️」をクリックすると、スクリプトが実行されます。

 Virtualenv、Pipenv、Poetry、または Conda 仮想環境を作成することもできます。仮想環境は、基本インタープリターとインストールされたパッケージで構成されます。プロジェクト設定/環境設定で、いつでも Python インタープリターを切り替えることができます。


このページの先頭に戻る

Python 入門

ホームに戻る