LoginSignup
7
10

More than 3 years have passed since last update.

pyenvでpython環境構築

Posted at

さあ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エラーで失敗した時の対応

7
10
0

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
7
10