Pythonをいじっていろんな機能を追加してみた。

これは東京大学電子情報工学科・電気電子工学科の後期実験「大規模ソフトウェアを手探る」の体験記兼レポートとして書かれています。

Pythonをいじっていろんな機能を追加してみた

はじめに

こんにちは、py+honです。

東京大学電子情報工学科・電気電子工学科の後期実験「大規模ソフトウェアを手探る」にてこのpy+honという班を結成して、Pythonを手探ってみました。この記事はその実験のレポートとして書かれています。
Pythonを扱った理由は、よく使用するプログラミング言語の中でPythonについてなんでこの機能がないの?と思うことが多いことに気づいたので、だったら付け加えてみようと考えたからです。

この記事ではPythonに機能を追加するための事前準備であるビルドの仕方について書いています。

詳しい機能の追加方法は以下の各班員が書いたブログを参照してください。

諸々の環境

  • OS

Mac Catalina10.15 / Ubuntu20.04

  • CPython

Python3.7.9

  • エディタ

Emacs/VScode

  • デバッガ

gdb

ビルド

まずはソースコードの入手からです。
好きなディレクトリでgit cloneをして-bオプションでバージョンを指定してリポジトリを複製します。

$ git clone https://github.com/python/cpython -b 3.7

今回はバージョン3.7.9をいじるつもりだったので、-b 3.7としています。
あとは以下のコマンドを順に打つだけです。

$ CFLAGS="-g -O0" ./comfigure --prefix="インストール先のフォルダのパス"
$ make
$ make install

"-g"によって実行可能ファイルに「デバッグシンボル」を含め、デバッガが使えるようになり、"-O0"で最適化レベルを最低にすることでデバッガでプログラムを追跡しやすくしています。

"--prefix"オプションによってPythonのインストール先のフォルダを指定することができます。

参考

大規模ソフトウェアを手探る
今回の実験のホームページです。