LoginSignup
4
3

More than 5 years have passed since last update.

WSL(openSUSE)にPython3.7.2をインストール

Posted at

概要

WSL(openSUSE Leap15)にPython3を導入したがzypper経由だと3.6.5までしか入らない(2019/03/13現在).最新の3.7.2をビルドしたらいろいろハマったのでメモ.

導入

まずはPython3をインストール.

sudo zypper install python3

ついでにpipも入れた.

sudo zypper install python3-pip

最新版のビルド

LinuxにPython3系をインストールする手順
Unix プラットフォームで Python を使う
を参考に最新版をビルドした.
(注)make installはPython3のバイナリを破壊する可能性があるらしいのでmake altinstallが推奨されている.これについては「あとがき」参照.

wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar -xvzf Python-3.7.2.tgz
cd Python-3.7.2
./configure
make
sudo make install

すると最後らへんにこんな文言が出た.

zlib not available
make: *** [install] Error 1

zlibないのか~と思ってインストールを試みる.

sudo zypper install zlib                                                                                 14:45:32 [sudo] password for root:
Loading repository data...
Reading installed packages...
'zlib' not found in package names. Trying capabilities.
'libz1' providing 'zlib' is already installed.
Resolving package dependencies...

Nothing to do.

zlibというパッケージ名ではないようだが,あるにはあるらしい.困った.
ということで
https://github.com/pyenv/pyenv/wiki
を参考にコードを走らせる.

zypper install gcc automake openssl-devel ncurses-devel readline-devel zlib-devel tk-devel libffi-devel sqlite3-devel

そんで,再び

./configure
make
sudo make install

すると無事3.7.2になりました.

あとがき

ビルドの時に参考にしたPython本家ドキュメントには

警告 make install は python3 バイナリを上書きまたはリンクを破壊してしまうかもしれません。そのため、make install の代わりに exec_prefix/bin/pythonversion のみインストールする make altinstall が推奨されています。

とあるので,make installする前に

./configure
make 
sudo make altinstall

をした.
すると

setuptools in /usr/local/lib/python3.7/site-packages (40.6.2)
pip in /usr/local/lib/python3.7/site-packages (18.1)

と出力され,Python本体のバージョンは変わらなかった.
仮想環境で3.7.2を入れられるようになったということだろうか.
自分は本体も更新したかったのでmake installした.
この辺は詳しい事情を知らないので誰か教えてください.オナシャス.

参考資料

URLの再掲.
LinuxにPython3系をインストールする手順
Unix プラットフォームで Python を使う
https://github.com/pyenv/pyenv/wiki

初投稿につき参考にさせて頂きました.ありがとうございます.
Qiita初心者の投稿方法備忘録
Qiita記事の書き方〜基本の基本〜

4
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3