UbuntuにPython 3.4.4をインストールする方法|ソースからビルドする完全手順
Pythonは、汎用性の高いインタプリタ型・対話型・オブジェクト指向の高水準プログラミング言語です。1985年から1990年にかけてGuido van Rossum(グイド・ヴァンロッサム)によって開発されました。Perlと同様に、PythonのソースコードもGNU General Public License(GPL)の下で公開されています。
この記事では、Ubuntu環境にPython 3.4.4をソースコードからビルドしてインストールする手順を、初心者にもわかりやすく解説します。
1. 必要な前提パッケージのインストール
Pythonをソースからビルドするには、まずコンパイラやビルドツールなどの前提パッケージが必要です。以下のコマンドを実行しましょう。
$ sudo apt-get install build-essential checkinstall
実行すると、次のような出力が表示されます。
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version.
The following packages were automatically installed and are no longer required:
gtk2-engines-pixbuf libbs2b0 libopusfile0 libpyside1.2 libqmmp-misc
libqmmpui0 libshiboken1.2 libsidplayfp libtidy-0.99-0 linux-headers-4.2.0-27
linux-headers-4.2.0-27-generic linux-image-4.2.0-27-generic
linux-image-extra-4.2.0-27-generic linux-signed-image-4.2.0-27-generic
php7.0-opcache python-beautifulsoup python-feedparser python-html2text
python-magic python-oauth2 python-pyside.qtcore python-pyside.qtgui
python-pyside.qtnetwork python-pyside.qtwebkit python-pysqlite2 python-regex
python-sqlalchemy python-sqlalchemy-ext python-support python-unity-singlet
python-utidylib
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
checkinstall
0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
Need to get 121 kB of archives.
After this operation, 516 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://in.archive.ubuntu.com/ubuntu/ trusty/universe checkinstall amd64 1.6.2-4ubuntu1 [121 kB]
....................................................................
続いて、Pythonのビルドに必要なサポートライブラリ群をインストールします。readlineやncurses、OpenSSL、SQLite、Tkなどの開発用ヘッダファイルをまとめて導入しておくことで、後のビルドエラーを防げます。
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
出力例は以下の通りです。
Reading package lists... Done
Building dependency tree
Reading state information... Done
libc6-dev is already the newest version.
libc6-dev set to manually installed.
The following extra packages will be installed:
libexpat1-dev libfontconfig1-dev libfreetype6-dev libice-dev libpng12-dev
libpthread-stubs0-dev libsm-dev libssl-doc libtinfo-dev libx11-dev
libx11-doc libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxft-dev
libxrender-dev libxss-dev libxt-dev tcl-dev tcl8.6-dev tk8.6-dev
x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-render-dev
x11proto-scrnsaver-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
zlib1g-dev
.....................................................................
2. Pythonソースコードのダウンロード
次に、Python公式サイトから3.4.4のソースアーカイブをダウンロードします。/usr/srcディレクトリに移動してからwgetコマンドを使うのが一般的です。
$ cd /usr/src $ sudo wget https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz
ダウンロードが正常に開始されると、以下のような出力が表示されます。
--2016-03-18 11:13:18-- https://www.python.org/ftp/python/3.4.4/Python-3.4.4.tgz Resolving www.python.org (www.python.org)... 103.245.222.223 Connecting to www.python.org (www.python.org)|103.245.222.223|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 19435166 (19M) [application/octet-stream] Saving to: 'Python-3.4.4.tgz' 100%[==============================================================>] 1,94,35,166 819KB/s in 27s ..................................................
ダウンロードが完了したら、tarコマンドでアーカイブを展開します。
$ sudo tar xzf Python-3.4.4.tgz
3. Pythonソースのコンパイル
展開してできたディレクトリに移動し、./configureスクリプトを実行してビルド環境を構成します。この処理には数分かかる場合があります。
$ cd Python-3.4.4 $ sudo ./configure
configureの実行中には、システム上の各種ヘッダファイルやライブラリの有無がチェックされ、以下のようなログが出力されます。
checking sys/bsdtty.h presence... no checking for sys/bsdtty.h... no checking sys/event.h usability... no checking sys/event.h presence... no checking for sys/event.h... no checking sys/file.h usability... yes checking sys/file.h presence... yes checking for sys/file.h... yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/kern_control.h usability... no checking sys/kern_control.h presence... no checking for sys/kern_control.h... no checking sys/loadavg.h usability... no checking sys/loadavg.h presence... no checking for sys/loadavg.h... no checking sys/lock.h usability... no checking sys/lock.h presence... no checking for sys/lock.h... no checking sys/mkdev.h usability... no checking sys/mkdev.h presence... no checking for sys/mkdev.h... no checking sys/modem.h usability... no ...................................................
altinstallを使う理由
ここで重要なポイントがあります。ビルド時にはmake altinstallを使用してください。通常のmake installを使うと、既定のPythonバイナリである/usr/bin/pythonが上書きされてしまう可能性があります。OSのシステムツールが既定のPythonに依存している場合、上書きすると不具合が発生することがあるため、altinstallで別名(python3.4)としてインストールするのが安全です。
$ sudo make altinstall
コンパイルとインストールが進むと、標準ライブラリの各モジュールが順に最適化されていきます。出力例は以下の通りです。
Compiling '/usr/local/lib/python3.4/tkinter/test/widget_tests.py'... Compiling '/usr/local/lib/python3.4/tkinter/tix.py'... Compiling '/usr/local/lib/python3.4/tkinter/ttk.py'... Compiling '/usr/local/lib/python3.4/token.py'... Compiling '/usr/local/lib/python3.4/tokenize.py'... Compiling '/usr/local/lib/python3.4/trace.py'... Compiling '/usr/local/lib/python3.4/traceback.py'... Compiling '/usr/local/lib/python3.4/tracemalloc.py'... Compiling '/usr/local/lib/python3.4/tty.py'... Compiling '/usr/local/lib/python3.4/turtle.py'... Listing '/usr/local/lib/python3.4/turtledemo'... Compiling '/usr/local/lib/python3.4/turtledemo/__init__.py'... Compiling '/usr/local/lib/python3.4/turtledemo/__main__.py'... Compiling '/usr/local/lib/python3.4/turtledemo/bytedesign.py'... Compiling '/usr/local/lib/python3.4/turtledemo/chaos.py'... Compiling '/usr/local/lib/python3.4/turtledemo/clock.py'... Compiling '/usr/local/lib/python3.4/turtledemo/colormixer.py'... Compiling '/usr/local/lib/python3.4/turtledemo/forest.py'... Compiling '/usr/local/lib/python3.4/turtledemo/fractalcurves.py'... Compiling '/usr/local/lib/python3.4/turtledemo/lindenmayer.py'... Compiling '/usr/local/lib/python3.4/turtledemo/minimal_hanoi.py'... Compiling '/usr/local/lib/python3.4/turtledemo/nim.py'... Compiling '/usr/local/lib/python3.4/turtledemo/paint.py'... Compiling '/usr/local/lib/python3.4/turtledemo/peace.py'... Compiling '/usr/local/lib/python3.4/turtledemo/penrose.py'... Compiling '/usr/local/lib/python3.4/turtledemo/planet_and_moon.py'... Compiling '/usr/local/lib/python3.4/turtledemo/round_dance.py'... Compiling '/usr/local/lib/python3.4/turtledemo/tree.py' ...........................................................................
4. インストールされたバージョンの確認
インストールが完了したら、-Vオプションを付けてPythonのバージョンを確認しましょう。
$ sudo python3.4 -V
正しくインストールされていれば、次のように表示されます。
Python 3.4.4
まとめ
おめでとうございます!これで「UbuntuへのPython 3.4.4のインストール方法」をマスターしました。ソースからビルドする方法を覚えておけば、aptリポジトリにないバージョンを導入したいときにも柔軟に対応できます。今後のLinux関連記事でも、役立つコマンドやテクニックをさらに紹介していきますので、ぜひ引き続きご覧ください!
-
UbuntuにPipをインストールする方法を徹底解説【Python 2/3対応】
Linuxには実に多くのパッケージマネージャーが存在します。Ubuntuにはaptが標準搭載されていますが、プログラミング言語の多くも独自のパッケージマネージャーを持っています。Node.jsにはnpm、Rubyにはgem、そしてPythonにはpipが用意されています。 Pipは「Python Installs Packages」の略で、Python Package Index(PyPI)からパッケージを簡単にインストールできるツールです。他のインデックスからインストールすることも可能ですが、通常必要となるパッケージの大半はPyPIで入手できます。pipを使ってパッケージを導入するには、ま
-
Windows 10 / 11 に Ubuntu をインストールする3つの方法【WSL・USB起動・仮想マシン】
Windows 10 や Windows 11 のパソコンで Ubuntu Linux を使ってみたいと思ったことはありませんか?この記事では、その手順を初心者の方にもわかりやすく解説します。 実は、Windows 上で Ubuntu をインストールして動かす方法はひとつだけではありません。本記事では、代表的な3つのアプローチをご紹介します。① Windows Subsystem for Linux(WSL)を使って Linux コマンドを実行する方法、② USB メモリから直接起動する方法、そして③ 仮想マシン(VM)上で動かす方法です。 それぞれの特徴と手順を順番に見ていきましょう。 方法