2章Pythonインフラストラクチャ

家を建つるに木配りすること。

大工の嗜み、よく切るる道具を持ち、すきすきに研ぐこと肝要なり。

—宮本武蔵●五輪書、地之巻から

初心者でも、Pythonを使うのは簡単なはずです。豊富なライブラリやパッケージも簡単にインストールできます。ただし、実装が1つだけではないことが問題です。CPython、Jython、IronPython、PyPyと各種あります。さらに、Python 2.7と3.xの分断があります。この章では、プログラミング言語Pythonの最も一般的なバージョンであるCPython、そしてここでは、バージョン3.8を中心に説明します。

CPython 3.8(今後は単に「Python」と呼びます)に焦点を当てた場合でも、次のような理由から、環境を整備するのは簡単ではありません。

  • インタープリタ(標準のCPythonのインストール)には(例えば基本的な数学関数を含む)標準ライブラリのみ付属しています。
  • サードパーティのパッケージは非常に数多くあり、別途インストールする必要があります。
  • 非標準パッケージのコンパイル/ビルドはOS依存性があり自分で行うのは難しいです。
  • 依存性やバージョン間の互換性の維持(メンテナンス)は面倒で時間がかかります。
  • パッケージによっては更新やアップグレードに際して、他の多くのパッケージを再コンパイルする必要が生じます。
  • パッケージの変更や置き換えにより、他の箇所で問題が生じることがあります。
  • Pythonのバージョン変更をすぐに行わずに、後にある程度のバージョンを飛び越えてバージョン変更を行う場合、これまでに挙げた問題すべてが非常に厄介になる場合もあります。

幸い、役に立つツールや戦略があります。本章では、環境整備に役立つ以下のものについて説明します。 ...

Get Pythonからはじめるアルゴリズムトレード ―自動売買の基礎と機械学習の本格導入に向けたPythonプログラミング now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.