pip
初心者
virtualenv
python3
GoogleCloudPlatform

webプログラミング初学者がGoogleCloudShellでPython3でpipを使えるようにする

この記事を書こうと思ったきっかけ

これまで自分がプログラミングについてほとんど知識がなく、インターネット上の情報と興味だけで何かをつくろうと思った時に、意外と多くの時間とお金を費やしてきたことに気づきました。
できれば初学者こそムダなお金や時間を省いて、「とりあえずやってみる」を実践できる情報があればと思い、この記事を書くことにしました。

いろいろあってGoogleCloudShellを使いたくなった。

「とりあえずやってみる」を試すのにお金はできるだけ使いたくない。
また、ローカルにあれこれインストールするのも手間だし、はじめからやり直したくなったときにいろいろと面倒。
と思って調べているときにGoogleCloudShellの存在を知りました。
ネット環境さえあれば無料で開発環境が使えます。これだと「イチからやり直す」が簡単にできるので初心者の学習用には最適ではないでしょうか。
詳しい使い方は、そもそもこの記事に興味を持った人ならここを見れば自力でできると思います。

python3とpipを使いたい

python3を使っていろいろやってみたい!と思ったときにGoogleCloudShellで戸惑ったことがでてきました。

・python3でpipが使えない。
・apt-get install してもインスタンスを終了すると次回ログイン時はホームディレクトリ以外は初期化されてしまう。

で、そんなときには「仮想環境」を使うらしい。

ちなみにインストールされているpythonのバージョンは以下の通り。

$ python3 -V
Python 2.7.13
$ python3 -V
Python 3.5.3

virtualenvを使う

pythonの仮想環境構築にはpyenv やらvenvやらを使うらしいのですが、私が試した限りCloudShellで使えるのはvirtualenvのみ。

ホームディレクトリで下記コマンドを実行。[myenv]は作成する仮想環境のディレクトリ。

$virtualenv -p python3 [myenv]

すると[myenv]に指定したディレクトリにbin include libディレクトリと pip-selfcheck.jsonというファイルができます。

んで、[myenv]/binにあるactivateを読み込めば仮想環境に入ります。
プロンプトの先頭にかっこで仮想環境の名前[myenv]が表示されていればOK。
ちなみにピリオドのかわりに source を使ってもOK。

$ . [myenv]/bin/activate
(myenv) hoge@cloudshell:~/myenv$

これでpythonのバージョンを確認します。

(myenv) hoge@cloudshell:~/myenv$ python -V
Python 3.5.3

pipも使えるようになっています

(myenv) hoge@cloudshell:~/myenv$ which pip
/home/hoge/myenv/bin/pip

pipでインストールしたパッケージもホームディレクトリにつくった仮想環境内にインストールされるので次回からは、仮想環境のディレクトリに移動してからsource bin/activate(. bin/activate)すれば継続して利用できます。

まとめ

GoogleCloudShellでpipを使うにはvirtualenvで仮想環境をつくる。