Ubuntu 17.10でPython開発環境
今更ローカルで……って感じもありますが、自宅で機械学習やらクローリングやらスクレイピングやらをやってみようと思ってVirtualBoxで最新のUbuntuをインスコしてみたはいいものの、なかなかどうしてこれが手間取ってしまったので備忘録がてら。
Ubuntu 17.10 インストール
省略します。これはこれで日本語入力だったりvimのアップデートだったり色々ハマりどころは多かったのですが、そこまで紹介していると夜が明けてしまうので(現在午前1時)各自ググって解決して下さい。
パッケージインストール
とりあえずいつものやつをインストールします。
hogeuser:~$ sudo apt-get install git gcc make openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
# 描画系ライブラリ
hogeuser:~$ sudo apt-get install python3-tk tk-dev python-tk libfreetype6-dev
# easy_installのために
hogeuser:~$ sudo apt-get install python-setuptools
pyenvインストール
pyenvをgitから直接持ってきます。
hogeuser:~$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
.bashrcに環境設定を追記します。
# Python Settings
export PYENV_ROOT=$HOME/.pyenv
export PATH=$PYENV_ROOT/bin:$PATH
eval "$(pyenv init -)"
再読込します。
hogeuser:~$ source .bashrc
一応バージョン確認しときます。
hogeuser:~$ python -V
Python 2.7.14
hogeuser:~$ pyenv --version
pyenv 1.1.5-44-g85a66a9
仮想環境構築
同一バージョンで複数使い分けるためにvirtualenvをインストールします。
hogeuser:~$ sudo easy_install virtualenv
お好きなpyenvを入れます。
# 適当な名前でgrepかけて...
hogeuser:~$ pyenv install --list | grep [バージョンなど]
# 入れる
hogeuser:~$ pyenv install anaconda3-5.0.0
入れたバージョンをシステムのデフォルトにしておきます。
hogeuser:~$ pyenv global anaconda3-5.0.0
(anaconda3-5.0.0) hogeuser:~$ python -V
# Pythonのバージョンも変わっている
Python 3.6.2 :: Anaconda, Inc.
この状態で(exitしても大丈夫ですが)virtualenvすると、このバージョンで仮想環境が作成されます。
# Pythonバージョンは/user/bin/にあるものが使えるらしい
hogeuser:~$ virtualenv --python=/usr/bin/python3.6 testenv
Running virtualenv with interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/hogeuser/testenv/bin/python3.6
Also creating executable in /home/aosagitest/testenv/bin/python
Installing setuptools, pip, wheel...done.
アクティベートすれば終了です。
hogeuser:~$ . testenv/bin/activate
(testenv) hogeuser:~$ python -V
# condaは継承されてないけどとりえあず3.6系が入った
Python 3.6.3
本当はこの上でVSCode動かす方法とかまで紹介したかったのですが、時間がないのでとりあえず今日はここまで。
pyenv-virtualenvの方は何らかの操作がうまくいかんくてやめました。
正攻法じゃないかもしれません。正しいやり方知ってる方いたら教えて下さい\( ‘ω’)/