ConoHa WingでGoogle cloud SDKを使う

前回の記事でConoha WingでGoogle cloud SDKを使う為に、python2.7のインストールについて書きました。
その続きです。

Google cloud SDKはpython2.7より上のバージョンでは動いてくれないので、先にpython2.7を導入しておいてください。

$ gsutil version
ERROR: Python 3 and later is not compatible with the Google Cloud SDK. Please use Python version 2.7.x.

If you have a compatible Python interpreter installed, you can use it by setting
the CLOUDSDK_PYTHON environment variable to point to it.

Contents

Google cloud SDKのインストール

Google cloud SDKのインストールは非常に簡単です。

$ curl https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash | bash -

とりあえずはこれで指示に従っていけばインストールが完了します。

インストール後はcloud sdkが先程導入したpython2.7を参照してくれるよう、環境変数を.bashrcに記述しておきます。

$ echo 'export CLOUDSDK_PYTHON=$HOME/local/bin/python' >> ~/.bashrc
$ source ~/.bashrc

これでcloud SDKが使用できるようになるはずですが、今度はsqlite3がねーよとほざいてきます。

$ gsutil version
Traceback (most recent call last):
  File "/home/cxxxxx/google-cloud-sdk/bin/bootstrapping/gsutil.py", line 13, in 
    import bootstrapping
  File "/home/cxxxxx/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 44, in 
    from googlecloudsdk.core.credentials import store as c_store
  File "/home/cxxxxx/google-cloud-sdk/lib/googlecloudsdk/core/credentials/store.py", line 36, in 
    from googlecloudsdk.core.credentials import creds
  File "/home/cxxxxx/google-cloud-sdk/lib/googlecloudsdk/core/credentials/creds.py", line 40, in 
    import sqlite3
  File "/home/cxxxxx/local/lib/python2.7/sqlite3/__init__.py", line 24, in 
    from dbapi2 import *
  File "/home/cxxxxx/local/lib/python2.7/sqlite3/dbapi2.py", line 28, in 
    from _sqlite3 import *
ImportError: No module named _sqlite3

sqlite3のインストール

仕方がないのでsqlite3をソースコードからビルドして導入です。https://www.sqlite.org/download.htmlにソースコードがあるので適宜どうそ。

$ wget https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz
$ tar -xvf sqlite-autoconf-3280000.tar.gz
$ cd sqlite-autoconf-3280000
$ ./configure --prefix=$HOME/local
$ make && make install
$ ls $HOME/local/lib | greq sqlite
libsqlite3.a
libsqlite3.la
libsqlite3.so
libsqlite3.so.0
libsqlite3.so.0.8.6
sqlite3.13.0

sqliteがビルドできました。では、残念ながらpython2.7の導入しなおしです。

python2.7の再ビルド

sqlite3のライブラリを反映させる為にpythonのビルドをし直します。

# https://www.python.org/downloads/source/
$ wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
$ tar -xvf Python-2.7.16.tgz
$ cd Python-2.7.16
 
$ ./configure --prefix=$HOME/local/ --enable-optimizations
$ make && make install

https://ir1s.com/install_python2-7_on_conoha_wing/

これでようやくGoogle cloud SDKが使えるようになります。無理キレそう...

$ gsutil version
gsutil version: 4.38

cloud SDKのコマンドによっては別のライブラリが足らないじゃあーじゃこーじゃ言われるかもしれませんが、ケースバイケースでライブラリ等をビルドして導入していきましょう。

コメントする