Browsed by
作者: Max

如何在 PyCharm IDE 中 debug Flask App

如何在 PyCharm IDE 中 debug Flask App

由於 Flask 官方網頁中執行 app 的方法是採用 flask command line

 
$ export FLASK_APP=hello 
$ flask run 

PyCharm Community 是直接調用 Python 執行 script,若要PyCharm IDE 中調用 flask command line 就必須要做一些 work around 設定才能執行。Flask 官方的說明 [PyCharm Integration]在Mac上可以用 PyCharm 執行Flask App,

另外要利用 PyCharm 的 debug 功能要再做一些額外的設定。可以參考 Miguel Grinberg 的教學說明 [Setting Up a Flask Application in PyCharm]。

但要在 Window 10 中的 PyCharm Community Debug 還要使用一些小 Trick。可以參考 StackOverflow 這個討論串 [How to run Flask CLI from within PyCharm under Windows]。

其實,最簡單的方法是你購買 PyCharm Professional, 那可以直接建立一個 Flask Server Configuration [Run/Debug Configuration: Flask Server]

Podcast 推薦

Podcast 推薦

在開車、通勤、運動的時間,我通常會聽一些 Podcast。

在國外有許多 Python 相關的 Podcast,除了了解一些技術的最新資訊外,也順便可以練習英語的聽力。出乎意料的是對於程式設計領域的 Podcast,因為平時接觸時大部份都知道英文的意義,所以聽起來反而比較容易上手。

以下是我最常聽的Podcast,推薦給有緣的朋友

  1. Python
    • Talk Python To Me
      這是我第一個收聽跟 Python 相關的 Podcast,由 Michael Kennedy (Python Software Foundation Fellow) 主持,每週會邀請在 Python 不同領域的專家來談他們的計畫或經驗,可以從這個 Podcast 了解 Python 不同的面內。
  • DjangoChat
    • 主持人其中一位是 William Vincent 寫了三本跟 Django 有關的書,他的網站也提供了許多跟 Django 相關且很有用的訊息。
    • 另外一位主持人是 Carlton Gibson 是一位 Django Fellow 以及 Django REST Framework 的核心開發者。
    • 若你有在使用 Django,這個 Podcast 可以聽到比較進階的資訊。

這個 List 會持續更新

[閱讀週記] 20181203-1209

[閱讀週記] 20181203-1209

source: time.com

閱讀週記第18期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

Read More Read More

[閱讀週記] 20181126-1202

[閱讀週記] 20181126-1202

source: http://bit.ly/2EcSZIC

閱讀週記第17期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

  • Teaching and Learning with Jupyter : 一份新教材 for Jupyter
  • Telegram Bot Workshop
    Taichung.py 12/1 請到 KKBOX 傳教士江品陞來教台中的朋友實作 Telegram Bot.
    這個工作坊真得很豐富。內容包含了
    – Flask & ngrok 在 local PC 的開發
    – Telegram Chatbot 的開發
    – Olami 自然語言語意互動管理的語意設定
    – Heroku 的 webapp 佈署
    – KKBOX 的 API
    這次把 Olami 平台玩了一下,除了 DialogFlow 另一個的自然語言選擇.

Read More Read More

[閱讀週記] 20181119-1125

[閱讀週記] 20181119-1125

Source:程式特攻隊

閱讀週記第16期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

  • 改善OpenCV VideoCapture 的影像延遲
    這陣子一直想要解決HTTP request 跟 IPCam 要求 motion jpeg 影像,久了就會因系統負載太大可會斷線的問題。本來想改 RTSP,但 OpenCV  的 RTSP client library 一直會 lag 不順的問題,後來看了這一篇經驗分享,才知道要不停地把 RTP stream 送來的影像用 multithread 的方法先抓下來,這樣才不會在 buffer queue 了一堆未解壓的 image frame。

Read More Read More

[閱讀週記] 20181112-1118

[閱讀週記] 20181112-1118

閱讀週記第15期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

  • Practice Python 3 教材
    Pinkoi 的 Mosky  將她從2010 年開始教 Python 教材一併釋出,真是造福想學習Python的新人啊。
  • API Evolution the Right Way
    討論如何向依賴我們Library的人們保證:發布錯誤修正和有用的新功能或刪除功能時不會將使用我們Library的人的程式碼搞爛。

Read More Read More

[閱讀週記] 20181105-1111

[閱讀週記] 20181105-1111

台中敏捷之旅11/12開放報名了, Agile Tour Taichung 2018 報名頁

閱讀週記第14期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

Read More Read More

[閱讀週記] 20181022-1104

[閱讀週記] 20181022-1104

今年我們又辦了台中敏捷之旅,歡迎來參加 Agile Tour Taichung 2018

閱讀週記第13期, 上一週有事在忙一下子就過了二週 XD, 記錄過去二週閱讀中覺得值得分享的資訊…

[Python]

  • Best Practices for Modifying a List While Looping Over It?
    這幾天寫程式也遇到相同的情境,在 iterate 一個 List 時又要 delete or add item,這題的答案是先建一個新的 List,Twitter 的討論串比想像中長,可以看一下大家的看法。
  • Write Better Python Functions
    要學會寫Python程式應該不難,但要寫出一個可讀性高(High Readability)的程式就有很多值得探討的議,這篇文章討論了什麼樣的元素會造就一個“好”的 function?
  • Getting Started With Testing in Python
    如果你寫了一陣的程式,但還沒有開始寫測試程式,這篇文章對 Testin 作了很完整的介紹,涵蓋

    • Automated vs. Manual Testing
    • Unit Tests vs. Integration Tests
    • Compares unittest, nose or nose2, pytest
    • 討論了 “Writing Your First Test”, “Where to Write the Test”, “How to Structure a Simple Test”, “How to Write Assertions” 以及 “Dangers of Side Effects”
    • Testing in PyCharm and VS Code
  • 如何用Pyhton將多張 jpg 包裝成一張 gif
    最近有需要將實驗結果的 image sequences 包成一張 gif, 用 Python 來作程式很簡單呢.

Read More Read More

[閱讀週記] 20181008-1014

[閱讀週記] 20181008-1014

Source: Fixing bugs in production.

閱讀週記第11期, 記錄過去一週閱讀中覺得值得分享的資訊…

[Python]

  • Asterisks in Python: what they are and how to use them
    這篇文章討論了 ‘*’ & ‘**’ 在 Python 中的用法,包含了以下的情境:

    • Using * and ** to pass arguments to a function
    • Using * and ** to capture arguments passed into a function
    • Using * to accept keyword-only arguments
    • Using * to capture items during tuple unpacking
    • Using * to unpack iterables into a list/tuple
    • Using ** to unpack dictionaries into other dictionaries
  • Announcing Camelot, a Python Library to Extract Tabular Data from PDFs
    一個 Python Library 以及命令行工具,可以讓我們輕鬆提取在PDF文件中的 data tables。

Read More Read More