-
Notifications
You must be signed in to change notification settings - Fork 0
MS_PythonOnWindows
基本的にはコチラを参照。
以下は Windows 環境下での差異について。
Linux(WSL)環境では標準でディストリビューション パッケージがインストールされている。
- Ubuntu / Debian:
apt install python3 - CentOS / RHEL:
dnf install python3/yum install python3 - Anaconda(データ分析・機械学習向け)などのディストリビューションもある。
- 複数環境の共存が可能(例:python3.10, python3.12)
Windows 環境では標準でインストールされていない。
-
公式 Python のインストーラーから(推奨)
ユーザーが公式サイトからインストーラをダウンロードしてインストールする。-
インストーラ、
python-3.9.5-amd64.exeを使用し、- [Add Python 3.9 to PATH]にチェック。
- パスがおかしいので[Customize installation]を選択。
- 機能もオプションもフルにしてパス変更(
C:\prog\python39)。 - 最後に、パス制限解除のボタンが表示されたので、解除を行った。
- (インストール時に PATH 追加のオプションのチェックを忘れるとコマンドが通らない)
-
MS ストアから(非推奨)
- 以下を実行すると、MS ストアに遷移し、ソコから取得できる。
>python
- ただし、制限があるらしいので、非推奨となっている。
- Python Launcher がインストールされない。
- ディレクトリやレジストリへのアクセスが仮想化される。
移行メモ(正誤): 元ページの「だたし」は「ただし」の誤記と判断し、修正した。
- Anaconda から
- 昔は Python のインストールに使用されていたらしいが、
最近はデータサイエンス用で、ほぼ公式を使用するようになっている。 -
environment.ymlを使用した特定バージョンのパッケージ・セットをインストールする
と言う目的で有用な可能性がある。 - ただし、最新の LLM 系ツールとの相性を考えると、
pip + venv や Docker の柔軟な環境のほうが確実な事が多い。 - 仮想環境ツールは Anaconda 専用のものが実装されているのでソレを使用することになる。
- 昔は Python のインストールに使用されていたらしいが、
補足(Anaconda はライセンスにも注意): Anaconda のデフォルト チャネルは、
一定規模以上の組織での商用利用が有償(要ライセンス)である。
企業で使う場合は、conda-forge チャネルの利用や
Miniforge への切り替えを検討する必要がある。
本ページが「ほぼ公式を使用するようになっている」と述べている背景の 1 つ。
-
インストールの確認
- 以下のように確認する。
>python
Python 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z
>
- 上記の終了は[Ctrl+Z]らしいので、以下の方が良さそう。
>python --version
Python 3.9.5
-
その他、以下のようなディストリビューションの選択肢もある。
- WinPython(ポータブル版 Python)
- Miniconda(軽量な Anaconda)
-
複数環境の共存が可能(例:python3.10, python3.12)
補足(現在は winget でも入る): Windows 10のパッケージ・マネージャで
触れた winget からもインストールできる。winget install Python.Python.3.12スクリプトで環境構築を再現したい場合は、
インストーラの GUI 操作より確実である。
- システム Python:標準でインストール済み。別の Python:ソースをビルドしてインストール
- Python 3.3 以降では、標準で仮想環境ツールも使用可能になっている。
-
複数の Python をインストールできるが、環境変数 PATH の競合に注意が必要。
-
デフォルトで
C:\Users\<User>\AppData\Local\Programs\Python\Python3xにインストールされる。 -
公式推奨の py ランチャー(
py.exe)
環境変数 PATH を操作せず、環境の切り替えができる。-
py.exeはレジストリを見て、システムにインストールされている Python のバージョンをスキャンする。 - Python 実行ファイルがどこにあるかを知っていて、パスに依存せずに適切なバージョンを起動できる。
-
-
仮想環境
- Python 3.3 以降では、標準で仮想環境ツールも使用可能になっている。
- Anaconda には、Anaconda 専用の仮想環境作成ツールが含まれる。
補足(py ランチャーの使い方): バージョンを明示して起動できる。
py -0 # インストール済みバージョンの一覧 py -3.12 -m venv .venv py -3.9 script.pyスクリプトの 1 行目に shebang(
#!/usr/bin/env python3.12)を書くと、
Windows でもpyがそれを解釈してバージョンを選ぶ。
Linux との両対応スクリプトを書く際に有用。
venv で仮想環境を作成すれば、
-
pythonn.n、pipn.nを シンボリックリンクで、python、pipで使える。 - 用途毎に異なる特定バージョンのパッケージ・セットをインストールできる。
Linux 上での仮想環境の使用方法。
- https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?Python#q0c50a8d
- https://dotnetdevelopmentinfrastructure.osscons.jp/index.php?LLM%E3%81%AEFT#l5db1fb1
以下のような違いがある(仮想環境名が myenv の場合)。
| 項目 | Linux | Windows |
|---|---|---|
| 仮想環境の場所 | myenv/bin/activate |
myenv\Scripts\activate.bat |
| activate 方法 | . ./myenv/bin/activate |
myenv\Scripts\activate |
補足(PowerShell では実行ポリシーに引っかかる): PowerShell から
myenv\Scripts\Activate.ps1を実行すると、
既定の実行ポリシーによってブロックされることがある
(シェル(スクリプト)の移行で触れた
「実行セキュリティポリシー機能」)。Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSignedのようにプロセス スコープで緩めるのが、影響範囲が最小で済む。
なお、activateは PATH を書き換えるだけなので、
myenv\Scripts\python.exeを直接呼べば activate 自体を省略できる。
Windows 環境限定で使えるモジュールがある。
補足:
pywin32を使えば、Python から
VBA や WSH と同様に Office や WMI を操作できる。
シェル(スクリプト)の移行の移行先として
Python を選ぶ場合、既存の COM 資産を活かせる点は評価材料になる。
-
Windows 発のツールは Windows の設定を使用するようにできている。
-
Python のような Linux 発のツールは Linux 文化に基づいた設定が必要になる。
補足: 具体的には、
pipは Windows の
[インターネット オプション]のプロキシ設定を見ず、
環境変数HTTP_PROXY/HTTPS_PROXY(およびNO_PROXY)や
pip.iniを参照する。
社内プロキシ環境でpip installが通らない場合、
ほぼこれが原因になる。
-
動かしてみよう — PyCon JP 2012 Pythonプログラミングハンズオン(初級者向け) documentation
http://pyconjp2012-python-for-beginners.readthedocs.io/en/latest/start_python.html -
はじめに — 理論編 コンピューティング 1.0 ドキュメント
https://st.jmooc.jp/ai/s0_coverpage.html
Tags: シェル, インフラストラクチャ, Windows, Linux
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。