ホーム > python3

python3

Linuxサーバー

Ubuntuでも 18.04以降は Python 2系ではなく、3系がデフォルトでインストールされているので、
Python3を使おうと思ったら、新し目の Ubuntuをインストールするのが、手っ取り早くて確実。

でも、私のように 32bitのマシンしか持ってない場合、Ubuntuのサポートは 16.4 までなので、
デフォルトでは Python2.7 とかになってしまう。
なので、Python2 がデフォルト・インストールの環境に Python3 をインストールするときのメモ。

(1) gitをインストールする
Pyenv のインストールに必要なため、まずは gitをインストール。

$ sudo apt-get install git

(2) gitからPyenvのインストーラを取得
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
Pyenvにパスを通して有効化します。
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile
Pyenvのバージョンを確認します。
$ pyenv -v
pyenv 1.2.8

(3) 目的のバージョンの Python をインストール
pyenv を使って、目的のバージョンのpythonをインストールする。

$ pyenv install 3.7.0
Downloading Python-3.7.0.tar.xz...
-> https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
Installing Python-3.7.0... 

BUILD FAILED (Ubuntu 18.04 using python-build 1.2.12-2-geb68ec94)

Inspect or clean up the working tree at /tmp/python-build.20190706061507.17491
Results logged to /tmp/python-build.20190706061507.17491.log

Last 10 log lines:
~~ 中略 ~~
checking for cl.exe... no
configure: error: in `/tmp/python-build.20190706061507.17491/Python-3.7.0':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

おっと、Cコンパイラが入ってなかった。。
追加でインストールが、その後も makeや様々なライブラリが足りていないことが判明。
最終的には以下の記事を見つけて、足りないパッケージをまとめてインストールして
解決した。
https://github.com/pyenv/pyenv/wiki/common-build-problems

$ sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl 

再度 pyenv で 3.7.0 をインストール

$ pyenv install 3.7.0

$ pyenv versions

system (set by /home/user/.pyenv/version)

 3.7.0

pyenv versionsコマンドで、インストールされている Pythonを確認すると、
3.7.0 がインストールされてました。

$ pyenv versions

system

 3.6.7

Python 3.6.7を有効化します。
$ pyenv local 3.6.7
$ pyenv versions

 system

CentOSの場合

(1) 依存パッケージをあらかじめインストールする
 

$ sudo yum install gcc zlib-devel bzip2 bzip2-devel readline readline-devel sqlite sqlite-devel openssl openssl-devel libffi-devel  git

どっかのサイトで見つけた情報では " libffi-devel " が足りず、
pyenv でのインストールで
" ModuleNotFoundError?: No module named '_ctypes' " というエラーが出てしまうので、上のサンプルに追加してます。

(2) pyenv を入手

pyenv を ~/.pyenv に git clone します。

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

(3) インストール

$ pyenv install 3.7.0

(4) 切り替え

$  pyenv global 3.6.0
$ pyenv rehash

[root@W5-01 ~]# pyenv global 3.7.0
[root@W5-01 ~]# pyenv rehash
[root@W5-01 ~]# python --version
Python 3.7.0

このページを共有:
  • このページをはてなブックマークに追加 このページを含むはてなブックマーク
  • このページをlivedoor クリップに追加 このページを含むlivedoor クリップ
  • このページをYahoo!ブックマークに追加
  • このページを@niftyクリップに追加
  • このページをdel.icio.usに追加
  • このページをGoogleブックマークに追加

このページのURL:

ページ新規作成

新しいページはこちらから投稿できます。

TOP