Windows Subsystem for Linux(wsl)のDebianでPython3.7をインストールする


wsl上のdebian(stretch)でPython3.7をインストールするにはどうすればいいのでしょうか?  
stretch-backportsを検索してもPython3.5が出てきてしまいます。  
さらに調べてみるとtestingには3.7があるようです。

WSL上のdebianでtestingからpackageを取得するにはどうすればよいのでしょうか?




## 1. testing を使う方法

WSL の Debian でも、通常の Debian と同様の方法で testing
からインストールすることができます。ただし実装の差などの問題から、インストール後に何かしら警告やエラーが出る可能性はあります。

testing からインストールする方法は、Debian Wiki のページ [DebianTesting](http://DebianTesting)
に解説があります。インストール手法だけでなく testing
とは何かから解説がありますので、ご一読ください。また、紹介だけですが日本語での短い解説も[こちら](https://www.debian.or.jp/using/release.html)にあります。

インストール手法だけ抜粋・日本語訳すると、以下のような流れになります ("How to upgrade to Debian (next-stable)
Testing" に書かれていることです)。システムを stable から testing にアップグレードする形です。 **testing から
stable には[やや戻しにくい](https://unix.stackexchange.com/q/117122/211480)のでご注意ください。**

  1. デフォルトでは stable からインストールするようになっているので、まずは stable できちんと `apt update` できるか試す。この際 oldstable ではなく stable にしてください。
  2. ファイル `/etc/apt/sources.list` を編集し、`stable` を `testing` にする。(この際、元の `sources.list` のバックアップを取っておくとやや安心です。)
  3. stable のセキュリティアップデートを示す行をコメントアウトする ( _security.debian.org_ という文字列が含まれる行すべてです)。
  4. `*-backports` や `*-updates` のような、stable のためだけの行をコメントアウトする。
  5. `apt update` や `apt upgrade` 等をしてアップグレードする。

ただしこのやり方は Python に限らずシステム全体を testing 環境に置くことになります。注意してください。

## 2. Python のバージョンマネジャーを使う方法

testing を使うとシステム上の他のパッケージのバージョンにも影響するかもしれません。このため Python 3.7 が欲しいだけなら、Python
のために作られたバージョンマネジャーや仮想環境を使うことをオススメします。

たとえば [tanalab2 さんの回答](https://ja.stackoverflow.com/a/46734/19110)で解説されている
[pyenv](https://github.com/pyenv/pyenv) や、[本家 Stack Overflow
の別質問](https://stackoverflow.com/q/46939562/5989200)で解説されている
[Anaconda](https://www.python.jp/install/anaconda/unix/install.html)
が有名です。[Yasuhiro
さんの回答](https://ja.stackoverflow.com/a/46768/19110)には他の選択肢も書かれています。

## 3. ソースからビルドする方法

また、Python 公式サイトから [Python 3.7
のソースコードをダウンロード](https://www.python.org/downloads/release/python-370/)し、自前でビルドしてインストールする方法を使うことでも、Python
3.7.x をインストールすることができます。




## 1. testing を使う方法

WSL の Debian でも、通常の Debian と同様の方法で testing
からインストールすることができます。ただし実装の差などの問題から、インストール後に何かしら警告やエラーが出る可能性はあります。

testing からインストールする方法は、Debian Wiki のページ [DebianTesting](http://DebianTesting)
に解説があります。インストール手法だけでなく testing
とは何かから解説がありますので、ご一読ください。また、紹介だけですが日本語での短い解説も[こちら](https://www.debian.or.jp/using/release.html)にあります。

インストール手法だけ抜粋・日本語訳すると、以下のような流れになります ("How to upgrade to Debian (next-stable)
Testing" に書かれていることです)。システムを stable から testing にアップグレードする形です。 **testing から
stable には[やや戻しにくい](https://unix.stackexchange.com/q/117122/211480)のでご注意ください。**

  1. デフォルトでは stable からインストールするようになっているので、まずは stable できちんと `apt update` できるか試す。この際 oldstable ではなく stable にしてください。
  2. ファイル `/etc/apt/sources.list` を編集し、`stable` を `testing` にする。(この際、元の `sources.list` のバックアップを取っておくとやや安心です。)
  3. stable のセキュリティアップデートを示す行をコメントアウトする ( _security.debian.org_ という文字列が含まれる行すべてです)。
  4. `*-backports` や `*-updates` のような、stable のためだけの行をコメントアウトする。
  5. `apt update` や `apt upgrade` 等をしてアップグレードする。

ただしこのやり方は Python に限らずシステム全体を testing 環境に置くことになります。注意してください。

## 2. Python のバージョンマネジャーを使う方法

testing を使うとシステム上の他のパッケージのバージョンにも影響するかもしれません。このため Python 3.7 が欲しいだけなら、Python
のために作られたバージョンマネジャーや仮想環境を使うことをオススメします。

たとえば [tanalab2 さんの回答](https://ja.stackoverflow.com/a/46734/19110)で解説されている
[pyenv](https://github.com/pyenv/pyenv) や、[本家 Stack Overflow
の別質問](https://stackoverflow.com/q/46939562/5989200)で解説されている
[Anaconda](https://www.python.jp/install/anaconda/unix/install.html)
が有名です。[Yasuhiro
さんの回答](https://ja.stackoverflow.com/a/46768/19110)には他の選択肢も書かれています。

## 3. ソースからビルドする方法

また、Python 公式サイトから [Python 3.7
のソースコードをダウンロード](https://www.python.org/downloads/release/python-370/)し、自前でビルドしてインストールする方法を使うことでも、Python
3.7.x をインストールすることができます。

