Skip to content

Instantly share code, notes, and snippets.

@curious-eyes
Last active September 12, 2019 02:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save curious-eyes/074afb18a0b5ae723d9d3a4774e4ef17 to your computer and use it in GitHub Desktop.
Save curious-eyes/074afb18a0b5ae723d9d3a4774e4ef17 to your computer and use it in GitHub Desktop.

Python最新版をCentOS7に載せる手順

IUS Community Project のリポジトリを追加

  $ sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

Python3.7以上をインストール可能であれば、それで良いけど、2019.09時点では、3.6が限界。

あとは、 pyenv で最新版にしよう。

  $ sudo yum install -y python36u python36u-libs python36u-devel python36u-pip
  $ python3.6 -V
  Python 3.6.8

pythonコマンドも入れ替えてしまう。

  $ sudo unlink /usr/bin/python
  $ sudo ln -s /usr/bin/python3.6 /usr/bin/python
  $ python -V
  Python 3.6.8

pyenvインストール

  $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
  $ vi ~/.bash_profile
  
  # ファイルに以下を追記
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$PYENV_ROOT/bin:$PATH"
  eval "$(pyenv init -)"
  
  $ source ~/.bash_profile  

python3.7.4 インストール...の前に、

pythonコマンドを入れ替えたことで、 yumコマンドでエラーが発生するので、python2 コマンドを使うように調整する。

こんなエラー

    File "/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
  SyntaxError: invalid syntax

先頭行を調整する

  $ sudo vi /bin/yum
  #!/usr/bin/python2   <- 最後に 2 をつける

もう一箇所

  $ sudo vi /usr/libexec/urlgrabber-ext-down
  #!/usr/bin/python2   <- 最後に 2 をつける

python3.7.4 インストール...の前に、必要なライブラリをインストール

( https://github.com/pyenv/pyenv/wiki/common-build-problems#prerequisites )

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

python3.7.4 インストール

  $ pyenv install 3.7.4
  $ pyenv versions
  * system (set by /home/*******/.pyenv/version)
  3.7.4
  $ pyenv global 3.7.4
  $ python -V
  Python 3.7.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment