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の方は何らかの操作がうまくいかんくてやめました。

正攻法じゃないかもしれません。正しいやり方知ってる方いたら教えて下さい\( ‘ω’)/

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日記

前の記事

【レビュー】ATH-WS1100
WPF

次の記事

ToDoManager