Setup Google Cloud Service Realization Using Anaconda


圖0 Overall Flowchart of Setup Google Cloud Service

圖0呈現完整設定Google Cloud Service的流程圖。
第一步是建立跟啟動Anaconda virtual environment。(註:實際操作之後,這一步可以移到第六步後再執行)
第二步是下載Google cloud SDK。
第三步是安裝Google cloud SDK
第四步是設定google cloud的command line interface (CLI)進入.bashrc (電腦環境變數設定檔)。
第五步是登入Google帳號,來設定設定、認證Google Cloud Platform(GCP) 憑證(Credentials)。
第六步是選擇google cloud project。
第七步是安裝python speech-to-text client library。
第八步是export GOOGLE APPLICATION CREDENTIALS。
第九步是下載及解壓 python-docs-samples資料夾。
第十步是執行python-docs-samples資料夾下speech/cloud-client/quickstart.py檔案。

第一步 建立Anaconda virtual environment


圖一:\colon create a Anaconda virtual environment google-cloud-serviceusing conda create

圖一呈現在terminal上打

指令1-1. conda create -n google-cloud-service pip python=3.6

conda create -n google-cloud-service pip python=3.6的意思是新增 Anaconda虛擬環境。
此Anaconda虛擬環境的名字是google-cloud-service,此Anaconda虛擬環境的python版本為3.6,此Anaconda虛擬環境支援pip軟體包管理系統。

圖一(紅)顯示系統通知使用者有更新版本的conda,目前conda的版本是4.5.4,最新的conda版本是4.5.10。如果想要更新conda版本的話,可以打conda update -n base conda

圖一(橙)顯示我們函式包的計畫,
環境所在的路徑是:/home/petertsai/anaconda3/envs/google-cloud-service
系統顯示需要新增/更新的規格是pippython=3.6

圖一(綠)呈現函式包cretifi-2018.8.13setup tools-40.0.0將會被下載,build欄位顯示py36_0意思是python 3.6版本的執行檔。

圖一(藍)呈現系統詢問是否要安裝這些packages,這些packages就會成為此anaconda virtual environment的基礎packages。

由於在terminal 指令1-1說明需要安裝pip、python版本3.6,所以following New packages將會有pip, 與python3.6。

請type y表示接受這些packages的安裝。


圖二 安裝packages後的畫面

圖二(紅)呈現安裝packages後的系統response。cretifi-2018.8.13setup tools-40.0.0的函式包下載完成,transaction被準備、驗證、執行。

圖二(橙)呈現系統說明使用者可以打source activate google-cloud-service
啟動剛剛建立的google-cloud-service環境;

系統說明使用者可以打source deactivate
離開google-cloud-service的環境。


圖三 Activate and deactivate Anaconda virtual environment

圖三(紅)呈現打完
指令1-2. source activate google-cloud-service指令後系統的response。

系統會在原本輸入區的前面加上(google-cloud-service),意思是Terminal已經進入google-cloud-service環境,所有接下輸入的指令都是在google-cloud-service環境下執行。

圖三(橙)呈現打完source deactivate指令後系統的response,原本在前面(google-cloud-service)會消失,意思是Terminal回到原本的基礎(base)環境,離開先前的虛擬環境。

第二步是下載Google cloud SDK。


圖四 download google cloud sdk from website (https://cloud.google.com/sdk/docs/#linux)

圖四呈現下載google cloud sdk的網頁。
google cloud sdk安裝包依作業系統位元分成64位元或32位元兩種。
Linux 64-bit (x86_64) 是 linux作業系統64位元。
Linux 32-bit (x86) 是 linux作業系統32位元。
如果你的電腦作業系統是64位元,請點選google-cloud-sdk-208.0.1-linux-x86_64.tar.gz。

如果你的電腦作業系統是32位元,請點選google-cloud-sdk-208.0.1-linux-x86.tar.gz。


圖五 download google cloud sdk confirm window

圖五呈現下載google-cloud-sdk-208.0.1-linux-x86_64.tar.gz的視窗。
按"save file",便可下載google cloud sdk安裝包。


圖六 unzip google-cloud-sdk gz file

圖六呈現解壓縮google-cloud-sdk-208.0.1-linux-x86_64.tar.gz,在Home Folder產生google-cloud-sdk安裝包的操作流程。

圖六(紅)顯示點擊google-cloud-sdk-208.0.1-linux-x86_64.tar.gz後,進入解壓縮的畫面,點擊Extract後,進入圖六(橙)。

圖六(橙)顯示Extract視窗,使用者選擇Home目錄後,再點擊右下角Extract作確認,系統回應圖六(綠)。

圖六(綠)顯示解壓縮完成,點擊Quit關閉視窗。

圖六(藍)顯示在原本Home目錄下就會出現google-cloud-sdk資料夾。

第三步是安裝Google cloud SDK


圖七 install google cloud sdk

圖七呈現在有google-cloud-sdk的目錄下(此例為Home 目錄)type./google-cloud-sdk/install.sh後,系統的response。

指令3-1.   ./google-cloud-sdk/install.sh
指令3-2.  google-cloud-sdk/install.sh

指令3-1跟指令3-2可以同樣的效果,都是啟動安裝Google cloud SDK。

指令3-1是精準寫法,指令3強調google-cloud-sdk是在此目錄(terminal的目錄)下。

首先系統會詢問是否要協助改善Google Cloud SDK,google想搜集當機時候匿名的使用資料跟匿名stacktraces,如果想知道額外的資訊可以到( https://cloud.google.com/sdk/usage-statistic ),你可以按'N'表示不同意或者之後打gcloud config set disable-usage-reporting true隨時通知系統取消。

這個選項不影響安裝google-cloud-sdk,type y或n都沒關係。


圖八 system lists SDK version and default install components

圖八呈現安裝完Google Cloud SDK,與系統的回覆。

圖八(紅)呈現你現在電腦Gooogle Cloud SDK的版本是213.0.0,提醒最新的版本是213.0.0,兩個一樣代表使用者已經是是最新的版本。

圖八(橙)顯示系統呈現Google Cloud SDK全部可以安裝的Componet,跟使用者的電腦哪些component有安裝,哪些沒有。在這個例子裡,使用者的電腦有安裝 Cloud SDK Core libraries, Cloud Storage command line tool, Bigquery command line tool,這是剛剛打./google-cloud-sdk/install.sh指令而安裝的components。

使用者還沒有安裝App Engine Go Extension, Cloud Bigtable command line tool, ..., component。

圖八(綠)顯示系統告知使用者也可以用gcloud components install COMPONENT_ID來安裝新的component,也可以用gcloud components remove COMPONENT_ID來卸除現有的component。當使用者想把sdk的版本升級到最新版,也可以打gcloud components update更新。

圖八(藍)系統也詢問
Modify profile to update your '$PATH' and enable shell command completion?
意思是詢問要不更新$PATH跟允許shell command completion?

Modify profile to update your '$PATH'意思是系統詢問是否將Google Cloud CLIs 加入使用的environment。
如果type y,表示在terminal的任何目錄下打gcloud,都能被電腦系統識別。
如果type n,表示一定要在terminal的google Cloud SDK的目錄($HOME/google-cloud-SDK/bin/gcloud)下,才能被電腦識別的。

shell command completion的意思是在下google指令到一半時,按tab鍵便可請系統幫使用補齊未打完的指令。

請type y後繼續下一步。

第四步是設定google cloud的command line interface (CLI)進入.bashrc (電腦環境變數設定檔)。


圖九 bring google cloud CLI into environment.

圖九(紅) 系統回覆 Google cloud SDK installer 將更新 rc file ,將把Google Cloud CLIS (Command Line Interface) 帶入你的Base環境。 這樣在任何的目錄、環境下都可以打gcloud 的指令。

圖九(橙)系統詢問並且指定要存放設定rc file的路徑(預設為家目錄下的.bashrc),請直接按enter留白即可。

圖九(綠)系統回復把原本/home/petertsai/.bashrc備份到/home/petertsai/.bashrc.backup,備份完之後把/home/petertsai/.bashrc更新。

如果接受 rc file update,表示使用者的系統未來知道google的指令,當使用者使用 這些google的指令時,系統可以查找的到這些google指令的意思。
如果不接受rc file update的話,系統就不會將Google Cloud CLIs加入.bashrc,意思就是沒辦法type gcloud呼叫指令,而是要加上google-cloud-sdk的路徑,在這個例子是$HOME/google-cloud-sdk/bin/gcloud

圖九(棕)系統告知如果要得到更多使用Google Cloud Service的資訊,請造訪(https://cloud.google.com/sdk/docs/quickstarts)網頁

圖九(藍)呈現按ENTER鍵後,系統respond Start a new shell for the changes to take effect,意思是要重新開一個Terminal視窗gcloud指令才能開始使用。

圖九(紫)可以看到在原本Terminal視窗typegcloud help會顯示gcloud: command not found。驗證系統的確還不認得gcloud CLI。


圖十 open new terminal and type gcloud help command

圖十(紅)呈現當開啟新的Terminal視窗時,系統就可以自動辨識glcoud指令,所以type glcoud help之後,就會出現圖十(橙)的閱讀模式,使用者可以按上下箭頭瀏覽gcloud的簡介,在冒號(:\colon)後打q鍵退出閱覽模式。顯示gcloud 的NAMESYNOPSISDESCRIPTIONGLOBAL FLAGS的資訊,讓使用者可以了解如何使用gcloud。這些詳細資訊我們先不詳細解釋,留待之後google cloud api elboration再詳細說明。

第五步是Login Google Account 設定、認證GCP憑據。


指令5. gcloud init

開始設定Google Cloud Platform。


圖十一 log in to setup credentials*

圖十一(紅)呈現系統回覆目前組態(configuration)的名稱被設定為default。

圖十一(橙)呈現系統告知你可以透過在gcloud init後面加上--skip-diagonstics的旗標跳過檢查的環節。

圖十一(綠)呈現系統檢查網路連線的狀況,確認電腦有連上網路。

圖十一(棕)系統詢問是否要登入繼續設定Google Cloud Platform,type Y後,Terminal會自動打開瀏覽器,進入Google帳戶登入頁面,如圖十一(藍)所示,詢問你要用哪個Google帳號登入。


圖十二 Authentication window

圖十二顯示系統告知「Google Cloud SDK」想要存取你的Google帳戶,請問是否允許?按右下角的允許後繼續。


圖十三 Authentication Success

圖十三(紅)顯示當使用者按下允許按鈕,系統已成功完成Google Cloud SDK的驗證。

圖十三(橙)顯示按下允許按鈕後,Terminal視窗也跳出選擇project的選項,可以讓使用者選擇要使用的Google Console Project。

第六步是選擇google cloud project。


圖十四 Select Google Console Project and

圖十四(青)顯示目前登入的帳號是[email protected]

圖十四(紅)顯示[email protected]帳號所有google console project的id,這個例子裡有5個project:\colon active-guild-214500gc-ai-challenge-1529370474866newsman-2015sheshinging2012utopian-sky-434。第6個選項是用Terminal新增一個project。這個例子我們使用『開通免費試用Google雲端服務』文章裡新增的active-guild-214500,type 1後繼續,系統回覆目前的google console project已經指定為active-guild-214500

圖十四(橙)顯示系統沒有設定預設zone/region,這個功能會gcloud compute更容易使用。設定的方式是透過--zone--region旗標達成。

圖十四(綠)顯示系統建立預設的.boto組態,路徑是/home/petertsai/.boto
。想了解更多.boto file的內容可以直接打開/home/petertsai/.boto跟到https://cloud.google.com/storage/docs/gsutil/commands/config 來了解。設定完.boto,系統回覆你的Google Cloud SDK已經設定完成可以開始使用。

圖十四(棕)系統回覆需要驗證的指令都會預設使用[email protected]帳號,預設參照的project是active-guild-214500。打gcloud topic config學習如何變動個別的設定。

圖十四(藍)系統告知這個gcloud configuration稱作default。如果你需要使用多個帳號、多個projects的話,可以新增額外的組態。執行gcloud topic configuartions可以了解更多

圖十四(紫)系統告知執行gcloud --help可以了解可以跟Google Cloud Platform互動的內容。gcloud help COMMAND可以了解任何COMMAND的使用方式。執行gcloud topic -h可以學習SDK進階功能,例如:\colon arg files 跟輸出格式化(output formatting)。

第七步是安裝python speech-to-text client library。


圖十五 install google-cloud-speech python package

圖十五 呈現打

指令7. pip install - -upgrade google-cloud-speech

指令與系統的response

圖十五(紅)呈現package google-cloud-speech安裝的過程,第一步收集(collecting) google-cloud-speech;第二步到https://files.pythonhosted.org/packages/13/79/344c627fbc91fa31e45878d4c4ec2bd567f17f0f1fe64e6885159a885177/google_cloud_speech-0.35.0-py2-py3-none-any.whl 網址下載安裝檔(.whl);第三步安裝完成。

圖十五(橙)呈現package googleapis-common-protos<2.0dev,>1.5.3(from google-api-core[grpc]<2.0.0dev,>=0.1.4->google-cloud-speech)安裝的過程,跟google-cloud-speech不同的地方在於系統檢查後多顯示Requirement not upgraded as not directly required: setuptools>=34.0.0 in ./anaconda3/envs/google-cloud-service/lib/python3.6/site-packages (from google-api-core[grpc]<2.0.0dev,>=0.1.4->google-cloud-speech) (40.0.0),意思是因為setuptools版本的關係,系統沒有安裝升級googleapis-common-protos的需求。

所有的package如果正常安裝,系統回覆類似圖十五(紅)的格式,反之則是圖十五(橙)的格式。我們就不一一詳細說明。

圖十五(綠)系統說明已安裝好多個packages: googleapis-common-protos, cache tools, pyasny1, pyasn1-modules, rsa, google-auth, gracious, google-api-core, google-cloud-speech,並且顯示每個package安裝的版本號。

圖十五(青)顯示系統告知使用者目前pip版本為10.0.1,最新的版本18.0已經可以可更新,打pip install --upgrade pip指令可以更新。

第八步是export GOOGLE APPLICATION CREDENTIALS


圖十六 export GOOGLE_APPLICATION_CREDENTIALS

圖十六(紅)顯示『開通免費試用Google雲端服務』新增project的安全憑證所在位置,把它剪下。貼到Home目錄下。

圖十六(橙)顯示名為Google-Cloud-Service-Dev-71f5b29de1ff.json的安全憑證已經放置到Home目錄下。

圖十六(綠)顯示打export GOOGLE_APPLICATION_CREDENTIALS='Google-Cloud-Service-Dev-71f5b29de1ff.json'後,系統會把安全憑證裡的資訊登錄到環境變數。讓程式在呼叫api時,不會因為安全認證問題被系統攔阻。

export 變數名稱

分享自己的變數設定給後來呼叫的檔案或其他程序[1]。

第九步是下載及解壓 python-docs-samples資料夾。

https://github.com/GoogleCloudPlatform/python-docs-samples


圖十七 Download python-docs-samples folder

圖十七 顯示GoogleCloudPlatform Github repo,下載python-docs-samples folder (https://github.com/GoogleCloudPlatform/python-docs-samples)


圖十八 unzip python-docs-samples folder

圖十八 顯示使用者把python-docs-samples-master.zip解壓縮到Home Folder的過程。

圖十八(紅)顯示點擊python-docs-samples-master.zip後,進入解壓縮的畫面,點擊Extract後,進入圖十八(橙)。

圖十八(橙)顯示Extract視窗,使用者選擇Home目錄後,再點擊右下角Extract作確認,系統回應圖十八(綠)。

圖十八(綠)顯示解壓縮完成,點擊Quit關閉視窗。

圖十八(藍)顯示在原本Home目錄下就會出現python-docs-samples-master資料夾。

第十步是執行python-docs-samples資料夾下speech/cloud-client/quickstart.py檔案。


圖十九 find quickstart.py

圖十九 顯示quickstart.pypython-docs-samples的位置。是放在speech/cloud-client,意思是指當我們在Terminal呼叫quickstart.py時,在quickstart.py前面要加python-docs-samples/speech/cloud-client


圖二十 run quickstart.py

圖二十 顯示type python python-docs-samples-master/speech/cloud-client/quickstart.py後,電腦會開始執行quickstart.py,輸入一段預先錄好的音頻,上傳到Google Cloud Service,使用Google Cloud Speech-to-Text API,轉譯(transcribe)成文字後,輸出在Terminal上(Transcript: how old is the Brooklyn Bridge)

Google 安全性警告


圖二十一 Google security warning (extra)

圖二十一 顯示當我們用新的裝置登入Google Cloud Platform,Google會寄一封安全警示信給你登入的帳號。點選查看活動,可以看到看到更多登入資訊。


圖二十二 Google security confirmation (extra)

圖二十二 顯示當點選查看活動後,更多登入的資訊,作業系統(Linux)、使用的瀏覽器(Firefox),登入時間(2小時)、登入位置(台灣附近, 223.137.252.242)。如果你對這個活動沒有印象,點選『沒有,採取措施確保帳戶安全』,Google會開始進入提升帳戶安全的視窗。如果是你本人,點選『是』,跟Google確認。


圖二十三 Google security checked (extra)

圖二十三 顯示當使用者點選『是』後,Google responds使用者已確認登入者是你本人,帳戶安全無虞。

[1]
http://linux.vbird.org/linux_basic/0320bash.php#variable_environ

results matching ""

    No results matching ""