Python
環境構築
virtualenv
pyenv
ubuntu16.04

【pyenv】ubuntu16.04でのpython環境の構築

背景

  • tensorflowをubuntuで動かしてぇ!
  • でも、python2系のコードを使ってる!!
  • じゃあ、pyenvで複数バージョンを入れるっきゃねぇ!!!

で、『本記事に至る』

pyenvのインストール

sudo git clone git://github.com/yyuu/pyenv.git ./pyenv

[pyenv] PATHの設定

export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"

pythonのインストール

banaoh@ubuntu-dlw:~$ pyenv install 3.6.1

Downloading Python-3.6.1.tar.xz...
-> https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
Installing Python-3.6.1...

BUILD FAILED (Ubuntu 16.04 using python-build 1.1.1-1-g734e40d)

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

Last 10 log lines:
    ensurepip._main()
  File "/tmp/python-build.20170621142635.19271/Python-3.6.1/Lib/ensurepip/__init__.py", line 189, in _main
    default_pip=args.default_pip,
  File "/tmp/python-build.20170621142635.19271/Python-3.6.1/Lib/ensurepip/__init__.py", line 102, in bootstrap
    _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
  File "/tmp/python-build.20170621142635.19271/Python-3.6.1/Lib/ensurepip/__init__.py", line 27, in _run_pip
    import pip
zipimport.ZipImportError: can't decompress data; zlib not available
Makefile:1064: recipe for target 'install' failed
make: *** [install] Error 1
  • zlibがないと言われるのでインストール
sudo apt-get install zlib1g-dev
  • もういっちょインストール
banaoh@ubuntu-dlw:~$ pyenv install 3.6.1

Downloading Python-3.6.1.tar.xz...
-> https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tar.xz
Installing Python-3.6.1...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?

Please consult to the Wiki page to fix the problem.
https://github.com/pyenv/pyenv/wiki/Common-build-problems


BUILD FAILED (Ubuntu 16.04 using python-build 1.1.1-1-g734e40d)

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

Last 10 log lines:
                upgrade) ensurepip="--upgrade" ;; \
                install|*) ensurepip="" ;; \
        esac; \
         ./python -E -m ensurepip \
                $ensurepip --root=/ ; \
fi
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.1 setuptools-28.8.0
  • 『Missing the OpenSSL lib』ってエラーが出てるので、libsshをインストール
sudo apt-get install libssl-dev
  • 『pyenv install 3.6.1』 動いた!!!

pythonのバージョンの確認、バージョンの切り替え

banaoh@ubuntu-dlw:~$ python --version
Python 2.7.12

banaoh@ubuntu-dlw:~$ pyenv global 3.6.1
banaoh@ubuntu-dlw:~$ python --version
Python 3.6.1