<Google Cloud Platform> RAND_egd がインポートできんとさ、、
次のエラーメッセージがでた。
ImportError: cannot import name RAND_egd
グーグルっちしたら、、、
読んでいくと、pythonが2.7.12
ではだめらしい。
2.7.9
にしないといけなと、、
うーん、、、
後日。。。
結局、conda
さんで、2.7.9
を作った。
<Google Cloud Platform> SSL moduleがないと言われたとき、
Google Cloud Platform
で、いそいそとコードを書いて、ローカルで動くか試した時、、、
% ~/google-cloud-sdk/bin/dev_appserver.py .
してから、http://localhost:8080
にアクセスしたら、エラーメッセージがでた。。。
Sorry, unexpected error: Can't connect to HTTPS URL because the SSL module is not available.
うーん、、って悩んだあと、グーグルした結果、次の1文をapp.yaml
に追加すればいいとのこと。
# TODO: List any other App Engine SDK libs you may need here. libraries: #- name: jinja2 # version: latest - name: ssl # Added by Neko version: latest # Added by Neko
動いた。 なるへそ。
お世話になったstackoverflow。
あとは、マニュアル。
https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27
https://cloud.google.com/appengine/docs/python/tools/built-in-libraries-27
<Github> gitでSSLエラー
ひさびさにgit
したらエラーがでた。
% git pull error: SSL certificate problem, verify that the CA cert is OK. Details: ...
ちと、グーグルした結果、.gitconfig
に次の文を追加して、
SSL認証を無効にすることにした。
[http] sslVerify = false
<Anaconda, msys2, conda, python> バグかな、、msys2上でcondaが失敗したので、直してみた。
バグなのか?
msys2
上で、Anaconda
パッケージのconda
で、仮想環境に切り替える時、
pip
がおかしかったので、少し直してみた。
現象。
% conda info -e # conda environments: # py27 C:\Anaconda3\envs\py27 root * C:\Anaconda3 % source activate py27 py27 % which pip /C/Anaconda3/Scripts/pip py27 % which python /C/Anaconda3/envs/py27/python
となっていて、pip
が、envs/py27/Script
の仮想環境化から呼ばれていない。
なんで??? と思っていろいろ試した結果、
/c/Anaconda3/Scripts/activate
のスクリプト中で、仮想環境用にPATH
を再設定しているところで、
DOSの制御文字が行末についてしまい、/c/Anaconda3/envs/py27/Scripts
の設定をつぶしているっぽいのを発見した。
ちゅうことで、dos2unix
を追加した。
_NEW_PART=$("$_CONDA_DIR/conda" ..activate $_SHELL$EXT "$args") _NEW_PART=$(echo $_NEW_PART | dos2unix) # Added by Nekoyuki
動いた!
よかったよー。
追記。。。
PYTHONPATH
も変更しないと、仮想環境に入った時、pip
でコールした時にうまくない。。。
<Google Cloud Platform, Python, gspread> Google Spread Sheet へアクセスする。
グーグル スプレッド シートGoogle Spread Sheet
にアクセスする。
最初に下記へ行って、
1... Google Drive APIの発行、有効化、
2... サービス アカウント キーの作成、及びjson
形式でキーのダウンロードをする。
ちと順を追って、、、
その1、 プロジェクトを作成する、を選ぶ。
その2、 プロジェクト名を入れて、作成を押す。
その4、 APIを有効にする、を押す。
その5、 Google Apps APIの下にある、Drive API、を押す。
その6、 有効にする、を押す。
その7、 認証情報、を選ぶ。
その8、 サービスアカウントキー、を選ぶ。
その9、 JSONを選んで、作成、を押す。
その10、 キーがダウンロードされる。
で、ちらっと、キーを見てみる。
In [27]: with open('Hage-xxxxx.json', 'r') as f: ...: jd = json.load(f) ...: print(json.dumps(jd, indent=4)) ...: { "project_id": "xxxxx-xxxxxx", "token_uri": "https://accounts.google.com/o/oauth2/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_email": "xxxxx-xxxxxx@appspot.gserviceaccount.com", "private_key_id": "xxxxx", "private_key": "-----BEGIN PRIVATE KEY-----xxxxx-----END PRIVATE KEY-----\n", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "client_id": "xxxxxx", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/xxxxx-xxxxx%40appspot.gserviceaccount.com", "type": "service_account" }
なるへそ。
そのあと、Google Spread Sheet
作って、共有する
に上記キーのclient_email
を入力する。
で、実際にアクセス開始。
In [1]: import json In [2]: import gspread In [8]: from oauth2client.service_account import ServiceAccountCredentials In [9]: scope = ['https://spreadsheets.google.com/feeds'] In [10]: doc_id = 'hogehogehagehagegoogleid' In [11]: import os In [15]: path = os.path.expanduser('./hagehage-xxxxxxxxxx.json') In [16]: credentials = ServiceAccountCredentials.from_json_keyfile_name(path, scope) In [17]: client = gspread.authorize(credentials) In [18]: gfile = client.open_by_key(doc_id) In [19]: worksheet = gfile.sheet1 In [20]: records = worksheet.get_all_values() In [21]: for record in records: ...: print(record) ...: ['a', 'b', 'c']
おおー! できたー! すげー!
参考にさせてもらったところ。
<handsontable> handsontable
ハンドソンテーブルhandsontable
。
javascript
で、Excel like
なテーブルを提供する。
いいねー。
こちらで使い方がきれいにまとめられてる。
おためし@JSFiddle
<Bootstrap> Grid
グリッドGrid
を、ちょっとやってみた。
ミソは、container
--> row
--> col
という階層で設定要。
おためし@JSFiddle
https://jsfiddle.net/xkqgmrvo/
あとは、マニュアルと、参考にさせてらったところ。