Python 想要睡眠後,自動執行某個 Function,其他程式也要可以繼續執行,可以使用 Threading 的 Timer() 來達成。
標籤: python
使用 Brython 來操作網頁的 DOM
一般都使用 JavaScript 來操作網頁的 DOM,不過喜歡寫 Python 的人,總會想要 Python Everywhere。
只要載入 brython.js,就可以在網頁使用 <script type="text/python"> 來操作 DOM 囉~
Python CLI 的快速語法(Syntax)檢查
Python、Python3 寫好程式後,程式不想要執行的情況,想要快速確認是否有語法異常,可以用下述作法達成:
- python -m py_compile example.py
- python3 -m py_compile example.py
故意寫個錯誤來跑 (example.py 寫個 「aaa x =」)
- python3 -m py_compile example.py # 正常就沒有任何事情,有錯誤會如下述:
File "example.py", line 3 aaa x = ^ SyntaxError: invalid syntax
另外還有下述可以使用:
Linux 如何於 Crontab 執行 Python Virtualenv 環境
Python 都會使用 virtualenv 來開發,Deploy 當然也希望可以建造一個乾淨的 virtualenv 的環境來搬移。
不過 Python 的 venv 執行的參數作法如下:
- cd venv
- . venv/bin/activate # 進入環境,問題出在這個階段,進不去
- pip install -r requirements.txt # 安裝所需套件
Python PIP 使用 requirements.txt 管理套件相依性
Python 常常會使用 PIP / PIP3 安裝很多套件(Library),但是要移植到其它機器或者要做環境 freeze (避免升級造成程式問題),很常見的作法就是使用 requirements.txt 來限定套件與版本 。
- 註:requirements.txt 只是習慣的檔名
Python 使用 pip3 建立虛擬環境 venv
Python 使用 pip 和 Python3 使用 pip3 在此篇步驟都是大同小異的,都可以參考看看~
- sudo apt install python3-pip
- pip3 install virtualenv
- pip3 show virtualenv # 查看 virtualenv.py 在哪裡
- ~/.local/lib/python3.5/site-packages/virtualenv.py
- python3 ~/.local/lib/python3.5/site-packages/virtualenv.py venv
- . venv/bin/activate # 或 source venv/bin/activate
- (venv) $ pip install -r requirements.txt # 安裝自己需要的套件試試看
更多詳細的操作,可見此篇:Python3 虛擬環境 venv 建置步驟 - 這是用 apt 的 pyvenv 來建立
Let's encrypt 遇到 'ascii' codec can't decode byte 0xe5 的解法
Let's encrpyt 在更新憑證的時候,遇到下述錯誤訊息:
Attempting to renew cert (example.com) from /etc/letsencrypt/renewal/example.com.conf produced an unexpected error: 'ascii' codec can't decode byte 0xe5 in position 2: ordinal not in range(128). Skipping.
要怎麼解決呢?
閱讀全文〈Let's encrypt 遇到 'ascii' codec can't decode byte 0xe5 的解法〉
Python3 PIP3 套件安裝在哪裡?
Python3 使用 PIP (PIP3) 安裝套件,套件安裝的路徑在哪裡呢? (環境:Debian、Ubuntu Linux)
Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法
Python3 遇到下述問題:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0–9: ordinal not in range(128)
此錯誤訊息,要怎麼解決呢?
一般這個都在 Python2 看到,沒想到在 Python3 也會遇到.. @.@a..
將 \x 開頭編碼的資料轉成中文輸出
在 access.log / error.log 或者某些頁面,有時後會看到 \x 開頭,16進制的字串,要怎麼將這些字串還原回原本的文字呢?