Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
9
Help us understand the problem. What is going on with this article?
@shoicchi

pyenvでpython環境構築

More than 1 year has passed since last update.

さあPython入れっか。

と思い立ったので
MySQL勉強用に立ててたcentosの仮想環境にpythonぶちこモーって思ったので備忘録

今まではanacondaポーン入れて、jupyter notebookでカリカリカリって勉強してたけど
要るわ。
って思いました。

まずはpyenvのインストール!

(そもそもpyenvって何?)
(簡単な話、Pythonのバージョンを切り分けて運用できますよ的なツール。rbenvからの影響)

とりあえずリポジトリをクローン

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

そしてパス通しておいて

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

バージョン確認、と。

$ pyenv --version
pyenv 1.2.14-8-g0e7cfc3b

ハイハイ、順調順調。

んじゃあ、Python入れっか。

とりあえずデフォで何が入っているか見ておいて

$ python --version
Python 2.7.5

ほうほう、で
pyenv君は今何が入れられるの?

$ pyenv install --list
Available versions:
  2.1.3
  2.2.3
  2.3.7
  2.4.0
  2.4.1
  2.4.2
  2.4.3
  2.4.4
・・・
  3.7.4
  3.7.5
  3.7.5rc1
  3.8.0
  3.8-dev
  3.9-dev
  activepython-2.7.14
・・・
(めっちゃ長い)

ふーん、やるやん?
じゃあとりあえず新しいやつを、、、

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

BUILD FAILED (CentOS Linux 7 using python-build 1.2.14-8-g0e7cfc3b)

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

Last 10 log lines:
    return _bootstrap(
  File "/tmp/python-build.20191021131652.2819/Python-3.8.0/Lib/ensurepip/__init__.py", line 119, in _bootstrap
    return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/tmp/python-build.20191021131652.2819/Python-3.8.0/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip._internal
  File "<frozen zipimport>", line 241, in load_module
  File "<frozen zipimport>", line 709, in _get_module_code
  File "<frozen zipimport>", line 570, in _get_data
zipimport.ZipImportError: can't decompress data; zlib not available
make: *** [install] エラー 1

いつものごとくエラー。
初学者はここからが戦いの始まりであり
インストールである?

zlibありませんやん。

Results logged to /tmp/python-build.20191021131652.2819.log

ってあるからとりあえずここ見にいく。
必要もなく

zipimport.ZipImportError: can't decompress data; zlib not available

zlibありませんやん。
そういえば依存パッケージとかなんも確認してないので
pyenv公式wikiで確認。


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

おし、あと何か違和感あるなーって思ってたんで

前に何か違和感を感じていて、参考にしていたいくつかの記事を見返すと
そもそもパス俺あれ、bashじゃなないし、zshだし、、、

$ echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ source ~/.zshrc

修正

そしてもう一度インストール

$ pyenv install  3.8.0
・・・
Installed Python-3.8.0 to /home/vagrant/.pyenv/versions/3.8.0

よし、と。

あとはこのversion使いますよーって指定

$ pyenv global 3.8.0

ちなみに、特定のディレクトリだけに適用したいんならglobalのとこをlocalにするオプションもあるんだとか。
作業ディレクトリ以下にバージョンが設定されるからglobalよりも優先されるとか。

で、確認。

$ python --version
Python 3.8.0

たいへんよくできました。

参考にさせていただきました。

https://qiita.com/1000ch/items/93841f76ea52551b6a97
https://qiita.com/Kodaira_/items/feadfef9add468e3a85b

今回は使わなかったけどMojavaにあげたときはこんなこともあったとか
[MacOS Mojave]pyenvでpythonのインストールがzlibエラーで失敗した時の対応

9
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
shoicchi
大学卒業 →医療機器の商社にて2年2ヶ月 →退職&プログラミングスクール通学(2019/06/01~2019/08/31) →働きます(2019/12~ プログラミングを初めて数ヶ月の自分のような人たちのための記事を投稿していきます。 &備忘録 &アウトプットの習慣付け

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
9
Help us understand the problem. What is going on with this article?