kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu 16.04 その3 - デフォルトのPythonをPython2からPython3へ変更

デフォルトのPythonをPython3へ

  Ubuntu 16.04では、デフォルトのPythonをPython2からPython3へ(今度こそ)移行する計画が立てられています。


  • Python 3 only on the default installs 

  Python3への移行は以前のUbuntuより検討されていた計画ですが、影響範囲が広くなかなか移行が進んでいない状況でした。

  現状Python3をデフォルトとすることで影響を受けるパッケージ(ソフトウェア)は、以下にまとめられています。

  • apt-get purge python2.7 (Xenial)
  
  上記でリストアップされているパッケージは、Ubuntu Desktopで標準的にインストールされるパッケージ群です。
  Ubuntuのインストールで使用されるパッケージなので、最低限これらのパッケージをPython3へ移行する必要があります。

  従って、上記でリストアップされているパッケージは、Ubuntuのリポジトリーで提供される全てのパッケージが対象ではありません。

  ユーザーがUbuntuインストール後に個別にインストールするソフトウェアの中で、デフォルトのPythonがPython2であることを期待して動作するソフトウェアは、別途対応が必要になります。

  Python2がデフォルトでインストールされなくなる

    Python3への移行と共に、Python2がデフォルトでインストールされなくなります。
    必要なら別途Python2をインストールすることができますが、デフォルトのPythonはPython3のままとなります。

Ubuntu 15.10のPython

  Ubuntu 15.10でPythonの状況を見てみます。

  Python2.7がデフォルト

    Ubuntu 15.10では、Python2.7がデフォルトのPythonとして採用されています。


  デフォルトのPythonのバージョンを調べる

    デフォルトのPythonのバージョンは、以下のコマンドで調べることができます。

python --version


    デフォルトのPythonのバージョンは、Python 2.7.10であることが分かります。
    Python 2.7.10は2015/5/10にリリースされていますが、Python 2はすでにメンテナンスリリースのみ行われている状況です。
    今後新機能の追加等は行われず、不具合の修正のみ行われます。

  デフォルトのPythonの実態

    「python」コマンドは、デフォルトのpythonを指すソフトリンクになっています。
    以下のコマンドでpythonの実態を調べることができます。

ls -l `which python`


    上記から、「python」コマンドは「python2.7」を指していることが分かります。

  Python3はすでに利用できる

    Python3はUbuntuのリポジトリーで提供されており、すでにインストール及び利用できる状態です。


    ただ、デフォルトのPythonになっていないだけです。
    Python3のバージョンを確認すると、以下のように「3.4.3+」になっています。


  Python 3.5も利用可能

    更に新しいバージョンであるPython 3.5も利用できます。


    Python3.5のバージョンを確認すると、以下のように「3.5.0+」になっています。


影響を受けるソフトウェア

  上記でも記述した通り、デフォルトのPythonがPython2であることを期待して動作するソフトウェアが影響を受けますが、もう少し詳しく見てみます。
 

  Python2とPython3は互換性がない

    Python2とPython3は互換性がないため、デフォルトのPythonがPython3になると、影響を受けるソフトウェアは正しく動作しなくなります。

  デフォルトのPythonで動作するソフトウェア

    デフォルトのPythonで動作するソフトウェアは、ソースコードに以下のような記述があるソフトウェアです。

#!/usr/bin/python

#!/usr/bin/env python

    他にも記述方法がありますが、いずれも共通する点は、Pythonのバージョン指定を行っていない点です。

    以下のように、Pythonのバージョン指定を行っているソフトウェアでは、デフォルトのPythonのバージョンに影響を受けません。

#!/usr/bin/python2

#!/usr/bin/env python2


Ubuntu 16.04
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その76 - CVE-2026-92392 含む curl の脆弱性22件修正・アップデートを
    curl の脆弱性22件修正 CVE-2026-92392 含む22件の curl の脆弱性に対応したセキュリティーアップデートがリリースされました。
  • Ubuntu 26.10 その38 - Ubuntu 26.10 がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 リリース 2026年10月15日、Ubuntu 26.10 がリリースされました。
  • Ubuntu 26.10 その35 - RISC-V 向け Ubuntu Desktop 登場
    RISC-V 向け Ubuntu Desktop 登場 Ubuntu Desktop 26.10 では、RISC-V 向けデスクトップイメージがリリースされます。
  • Ubuntu 24.04 その104 - Ubuntu 26.04 LTS へアップグレードするには・アップグレードの注意事項
    Ubuntu 26.04 LTS へアップグレードするには 現在 Ubuntu 24.04 LTS を利用しているユーザーは、Ubuntu 26.04 LTS へアップグレードできます。
  • Ubuntu 26.10 その33 - Ubuntu 26.10 β版がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.10 β版がリリースされました 2026年10月1日、Ubuntu 26.10 β版 がリリースされました。
  • Ubuntu 26.10 その34 - Ubuntu と Rust に対する取り組み(2026年10月)
    Ubuntu と Rust に対する取り組み 2026年10月1日、Ubuntu と Rust に対する取り組みが以下で紹介されました。
  • Ubuntu 26.04 その74 - Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象
    Qt6 で構築されたアプリがクラッシュする現象 Chromium 系ブラウザーにより、Qt6 で構築されたアプリがクラッシュする現象が報告されています。
  • Linux Mint その294 - Linux Mint 27 の開発とリリース方針の変更・アラーム管理アプリの開発
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.04 その77 - PHP に php2shell(CVE-2026-109618/CVE-2026-109619)の脆弱性・アップデートを
    PHP に php2shell の脆弱性 PHP に php2shell と呼ばれる致命的な脆弱性が見つかりました。
  • Linux その440 - uutils coreutils 0.11.0 でコマンド実行時のエラーメッセージを大幅に改良
    コマンド実行時のエラーメッセージを大幅に改良 uutils coreutils 0.11.0 で、コマンド実行時のエラーメッセージが大幅に改良されました。
記事のピックアップ
オプション