iT邦幫忙

2023 iThome 鐵人賽

DAY 20
0

前言

  • 由於花了三分之二的內容寫如何透過 Python 和 Asana API 去產出投影片,接下來的內容會轉向說明如何使這串程式可以自動化執行
  • 希望在每週一早上都會收到投影片

需求分析

  • 弄出一個穩定的環境來執行程式
  • 環境要好管理
    • 如果用虛擬主機,那要記下來裝了什麼東西,在還原環境和重現問題會較為麻煩
    • 用容器的話可以方便搬遷,也可知道環境中裝了什麼
  • 不要花太多錢
    • 使用公司閒置的設備進行
    • 搭公司的便車,放到雲端環境裡
  • 需要連接網際網路,才可以呼叫 Asana API
  • 決定使用 Docker 來製作環境了

操作

  • 先在開發設備中安裝 Docker 執行環境
  • 因為我需要 Python 和 相依套件 Pandas 和 Asana,所以先去 DockerHub 看看有沒有是和的還境
  • 拉個 image 來玩玩看: https://hub.docker.com/r/amancevice/pandas
    docker pull amancevice/pandas
    
  • 透過 docker 指令,起一個容器,要掛載先前開發的程式
    docker run -it --rm -v $(pwd):/source_code amancevice/pandas bash
    
  • 切換目錄到 /source_code,剛剛掛載上來的
  • 將相依套件裝一裝
    pip install -r requirements.txt
    
  • 備註(這段不是容器裡面執行,是開發的環境中執行)
    • 先前我在開發中的時候,只有用 Pipenv 來記錄套件
    • 但如果搬到沒有裝 Pipenv 的地方,就認不得這支檔案
    • 所以需要開發程式的時候產生 pip 認得的格式,我讓他叫做 requirements.txt
    pipenv sync
    pipenv run pip freeze > requirements.txt
    
  • 裝好之後,執行主程式
    python main.py
    

看結果

  • 大部分的頁面都正常產生
  • 不過我發現畫出來的,中文字,顯示有問題...
    https://ithelp.ithome.com.tw/upload/images/20230921/20141784G11WY5wAaG.png
  • 這個問題的成因,八成是因為缺少中文字型,下回再分曉

上一篇
Day 19 - 製圖模組的實作,從 Asana Task 繪製成甘特圖(下)
下一篇
Day 21 - 處理容器環境中的字型問題
系列文
挽救肝指數 x 職場生存術 x 老闆愛看的投影片製造機30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言