「.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- 豊富で大規模な文書
- 本体部分は必要最小限に抑えられている。
- Pythonのリファレンス実装であるCPythonは、OSS。
特徴 †
言語 †
複数のプログラミングパラダイムに対応している。
- オブジェクト指向
- 命令型
- 手続き型
- 関数型
- 動的型付け
実装 †
- 参照カウントベースの自動メモリ管理(GC)を持つ。
- さまざまな領域に対応する大規模な標準ライブラリやサードパーティ製の
ライブラリが提供され、本体にない機能はその都度呼び出して使用する。
- 多くのハードウェアとOSに対応(Linux版、Mac版、Win版、32/64bitが存在)
バージョン †
- 2.x 系のバージョンと 3.x 系のバージョンが存在。
- 2.x 系と3.x 系には互換性がない。
Python 2 †
Python 2.x はレガシー
Python 3 †
- Python 3 が Python 言語の現在と未来
- 本項の執筆時点で、Python 3なので、
本項ではPython 3を取り扱ってる。
詳細 †
ディストリビューション †
公式 †
インストーラーから(推奨)で使用しているもの。
Anaconada †
- Continuum Analytics社によって提供されているPythonのディストリビューションの一つ。
- Python 本体に加え、科学技術、数学、エンジニアリング、データ分析など、
よく利用される Python パッケージを一括でインストール可能
- conda
- パッケージ管理システム
- バージョン管理
- 仮想環境管理
環境管理 †
virtualenv †
システム全体のPython環境に影響を与えずに、プロジェクトごとに独立したPython仮想環境を構築するためのツール
- 仮想環境を有効にするには、activateスクリプトを実行する。
- 仮想環境内で必要なパッケージをインストールすると、
- 指定したディレクトリにPythonの実行ファイルやライブラリ、pipをコピー
- プロジェクト毎に異なるパッケージやバージョンを使用できる。
- 仮想環境を無効にするには、deactivateコマンドを実行し元のシステムのPython環境に戻る。
pyenv †
virtualenv(仮想環境)ではなくpythonのバージョンを切り替えを簡単にしてくれるツール。
- pyenvとvirtualenvを組み合わせて使用することが一般的で、異なるPythonバージョンを管理しつつ、プロジェクトごとに依存関係を分離できる。
- さらに、pyenvにはpyenv-virtualenvというプラグインがあり、これを使うと仮想環境の作成と管理がより簡単になる。
venv †
- virtualenv が Python 3.3 から標準機能として取り込まれたもの。
- 純正なので良いと考えるが、新しいため、情報がまだ少ないのが問題。
pipenv †
Pipfile.lock を使うパッケージマネージャー的なモノ
- 以前は、pip + requirements.txtでやっていたらしい。
- 自動でvenv環境を作成してくれる。
- パッケージング機能はないらしい。
Poetry †
pipenvとの大きな機能の違いは、
パッケージング機能(パッケージのbuild・publish)をサポートしているかどうか。
Jupyterで †
Jupyterとプロジェクト(フォルダ構成)は相性が悪いので、カーネルだけを切り替えられるようにする。
- 仮想環境にipykernelをインストール
$ pip install ipykernel
この状態で、仮想環境を抜けてJupyterを起動しても、jupyter-myenvが選択可能。
step by step的な †
環境構築履歴メモ †
参考 †