CHAPTER 8 ・ 仕事で使える形にする / Lesson 30
自分のパソコンにPython環境を作る
インストール、エディタ、仮想環境、pip。つまずきやすい場所を先回りして、最初の1本を動かします。
このレッスンが終わったら
「Pythonを入れ、仮想環境を作り、pip で道具を足して、自分のファイルを実行できる」と言える。
こんな場面、ありませんか?
ここまでは、ブラウザの実行欄でPythonを動かしてきました。手軽ですが、仕事で使うには、足りないところがあります。
| ブラウザの実行欄 | 自分のパソコン | |
|---|---|---|
| 自分の業務ファイルを読む | できない(サンプルのみ) | できる |
| 書いたコードを保存する | ページを閉じると消える | ファイルとして残る |
| 作った Excel を受け取る | できない | フォルダに保存される |
| 毎月・毎朝の自動実行 | できない | できる(Lesson 32) |
このレッスンでは、自分のパソコンに、Pythonを動かす環境を作ります。流れは、次の5つです。
- Python を入れる公式サイトから
- エディタを入れるコードを書く道具
- hello.py を動かす最初の1本
- 仮想環境を作るプロジェクトの専用部屋
- pip で道具を足すpandas など
このレッスンのコードは、すべて自分のパソコンで操作するものです。このページでは動かさず、手順と、画面に出る内容を示します。Windows を中心に説明し、Mac の違いを補足します。
Python を入れて、動かしてみる
- ブラウザで、Python の公式サイト(
python.org)を開く。「Downloads」から、最新の安定版のインストーラーをダウンロードする。公式以外のサイトから入れてはいけません。(この講座の実行欄は 3.12 です。3.12 以降なら、同じように動きます) - ダウンロードしたファイルを、ダブルクリックで開く。最初の画面の下にある「Add python.exe to PATH」に、チェックを入れる。 これを忘れると、あとで困ります。
- 「Install Now」を押す。終わったら「Setup was successful」と出るので、Close を押す。
- スタートメニューで「cmd」と入力し、「コマンド プロンプト」を開く。
- 次のように打ち、Enter を押す。
C:\Users\tanaka> python --version
Python 3.12.8Python 3.12.8 のように、バージョンが出れば成功です。(数字は、入れた版によって変わります)
Mac の場合 公式サイトのインストーラーで入れ、「ターミナル」を開いて、python3 --version と打ちます。Mac では、python ではなく python3 と打つのがふつうです。以降の python は、Mac では python3 に読み替えてください。
仕組みを読む
コマンドプロンプトの左側に出ている文字は、「今いる場所(フォルダ)」です。命令は、この場所を基準に動きます。
C:\Users\tanaka\python-work>今いるフォルダpythonPython を起動するhello.py動かすファイルcd python-workpython-work フォルダへ移動する(cd は、場所を変える命令)cd ..ひとつ上のフォルダへ戻るdir今いるフォルダの、ファイルの一覧を見る(Mac は ls)python hello.pyhello.py を、Python で動かすpython --version入っている Python のバージョンを表示する日本語にすると
次に、仮想環境の考え方です。Python の道具(pandas など)を、パソコン全体に入れていくと、ある仕事では新しい版、別の仕事では古い版が必要、という場面で困ります。そこで、仕事(プロジェクト)ごとに専用の部屋を作り、その中だけに道具を入れます。
仮想環境なし(パソコン全体)
パソコンの Python pandas 2.2 openpyxl (すべての仕事で共有。 版を変えると、他の仕事が動かなくなることも)
仮想環境あり(フォルダごとの専用部屋)
売上レポート/.venv pandas 2.2 openpyxl 経費チェック/.venv pandas 2.1 (それぞれ独立。消すのも簡単)
仮想環境で使っている道具の一覧は、requirements.txtというファイルに書き出せます。別のパソコンや、後任の人は、このファイルから同じ道具を、そろえ直せます。道具を入れるときに使うのが、pipという命令です。
やってみる:エディタ、hello.py、仮想環境、pip
ここからは、自分のパソコンで、順に操作します。1つ終わるたびに、結果を確かめてください。
① 作業フォルダを作る- エクスプローラーで、
C:\Users\tanaka\python-workのようなフォルダを作る。フォルダの名前は、半角の英数字にします。日本語や空白が入っていると、うまく動かないことがあります。 - その中に、
sales-reportフォルダを作る。(ユーザー名が日本語のときは、C:\work\pythonのように、場所そのものを変えます。OneDrive で同期されるフォルダ(デスクトップなど)も避けます)
エディタは、コードを書くための道具です。メモ帳でも書けますが、色分けや入力の補助がある Visual Studio Code(VS Code) が定番です。無料ですが、会社のルールの確認を忘れずに。
- VS Code の公式サイト(
code.visualstudio.com)から入れる。 - 起動して、左端の四角が並んだアイコン(拡張機能)を開き、「Python」(発行元は Microsoft)を入れる。
- 「ファイル」→「フォルダーを開く」で、
sales-reportを開く。 - 新しいファイルを作り、
hello.pyという名前で保存する。次の内容を書いて、Ctrl + S で保存する。
name = "田中"
print(f"こんにちは、{name}さん。Python が動きました。")- 「ターミナル」→「新しいターミナル」を開く。右上の「+」の横の「▼」から Command Prompt(コマンド プロンプト) を選ぶと、この講座の手順どおりに進められます。
- 次のように打つ。
C:\Users\tanaka\python-work\sales-report> python hello.py
こんにちは、田中さん。Python が動きました。画面に日本語が出れば、最初の1本は成功です。
③ 仮想環境を作る- 同じターミナルで、仮想環境を作る。
.venvは、専用の部屋のフォルダの名前です。
python -m venv .venv- 有効にする(その部屋に入る)。
.venv\Scripts\activate- 行の先頭に (.venv) と出れば、部屋に入っています。
(.venv) C:\Users\tanaka\python-work\sales-report>Mac では、3行目の代わりに source .venv/bin/activate と打ちます。部屋から出るときは deactivate です。
- pandas と openpyxl(Excel を扱う道具)を入れる。数分かかることがあります。
(.venv) C:\...\sales-report> python -m pip install pandas openpyxl- 入ったか確かめる。
(.venv) C:\...\sales-report> python -c "import pandas; print(pandas.__version__)"- 今の道具の一覧を、
requirements.txtに書き出す。
(.venv) C:\...\sales-report> pip freeze > requirements.txtrequirements.txt の中身は、次のような形です。(バージョンの数字は、環境によって変わります)
et_xmlfile==2.0.0
numpy==2.1.3
openpyxl==3.1.5
pandas==2.2.3
python-dateutil==2.9.0.post0
pytz==2024.2
six==1.16.0
tzdata==2024.2- 別のパソコンや、新しい仮想環境では、この一覧から入れ直せる。
(.venv) C:\...\sales-report> pip install -r requirements.txtフォルダは、次のようになっています。.venv の中身は大きく、人に渡す必要はありません。渡すのは、.py と requirements.txt です。
sales-report/
.venv/ 専用の部屋(人には渡さない)
hello.py
requirements.txtつまずきやすい点を、先回りで確かめる
うまくいかないときは、画面のメッセージが手がかりです。よくある例を挙げます。
| 画面の様子 | 原因 | 直し方 |
|---|---|---|
'python' は、内部コマンドまたは外部コマンド…として認識されていません | PATH に Python が入っていない | インストーラーを再度開き、「Modify」か入れ直しで、PATH のチェックを入れる。または py --version を試す |
python と打つと、Microsoft Store が開く | Python が入っていない | 公式サイトのインストーラーで入れる |
ターミナルで .venv\Scripts\activate を打つと「スクリプトの実行が無効になっている」 | PowerShell の制限 | コマンド プロンプトを使う(STEP 4 ②-5)。設定を変えるのは、許可を取ってから |
pip install が止まる、ProxyError や SSL のエラー | 会社のプロキシや、通信の制限 | 自分で回避せず、情報システム部門に、プロキシの設定を聞く |
ModuleNotFoundError: No module named 'pandas' | 仮想環境に入っていない、または入れていない | (.venv) が出ているか確認し、pip install をやり直す |
CSV を読むと UnicodeDecodeError | ファイルの文字コードが違う | encoding="utf-8" か "cp932" を試す(Lesson 19) |
pip install が会社の制限で通らないときは、社内用の道具置き場(ミラー)を案内されることがあります。証明書の確認を無効にするような裏技は、許可なく使わないでください。
仕上げに、できたかを自分で確かめましょう。
- □
python --versionで、バージョンが表示される - □
hello.pyを保存して、python hello.pyで動かせた - □
python -m venv .venvで仮想環境を作り、(.venv)が出ることを確認した - □
pip install pandas openpyxlが通り、import pandasができる - □
requirements.txtを書き出せた - □ 作業フォルダの名前が、半角英数字になっている
- □ 会社のルールで、これらの操作が許可されていることを確認した
仕事ならどう使う?
理解チェックインストール後に、コマンドプロンプトで python --version と打つと、「'python' は、内部コマンドまたは外部コマンド…として認識されていません」と出ました。いちばん疑うべきことは?
理解チェックrequirements.txt を作っておく、いちばんの目的は?