2023年7月7日 星期五

Ubuntu 20.04 + GT710 畫面撕裂

markdown 現在桌機配置是 ubuntu + GT710,在看影片時會有畫面撕裂的現象,用[這個影片](https://www.youtube.com/watch?v=MfL_JkcEFbE%EF%BC%89)就可以很清楚的觀察到,上網找了一下解法,在 Software & Update 的 addtional drivers 中可以發現 ubuntu 已經預設安裝了幾包的顯示卡驅動,不過預設使用的是 X.Org open source 的那一包,選擇 nvidia 470 proprietary 的那包驅動後,就沒有撕裂現象了

2023年3月29日 星期三

使用 Line notify 送訊息通知給自己

markdown 簡單筆記一下。 要用 line notify 送訊息會需要一個 token,正常會需要自架一個網站才能取得,不過如果是用開發人員選項取得自己的 token 的話就不用。 只要登入 line notify 網站(用電腦登入,用手機版網頁會看不到)後用開發人員選項取得 token,就可以用這個 token 送訊息給自己了。

2023年1月1日 星期日

pyenv virtualenv 小記

markdown 工作機上面的 Ubuntu 預設裝 python 3.8,不過有個需求要跑在 python 3.9 上,就研究了一下將 python 升級的方法,然後才發現 python 要直接升級其實蠻麻煩的,用 pyenv 這隻工具還比較方便。 pyenv 可以讓使用者輕易的在電腦上裝不同的 python 版本,然後幫你管理,類似 node js 的 nvm 的功能吧。 過程中發現 virtualenv 這個套件,就順便研究一下,virtualenv 是用來隔離不同的 python package 的環境,例如建立了一個 virtualenv 環境後,在裡面用 pip 安裝各種第三方套件,都只會安裝在那個 virtualenv 環境中,只要離開該環境,就會像那些第三方套件沒裝過一樣。 pyenv 有一個 plugin [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv),裝完 pyenv 後預設就會有,可以直接用這個 plugin 來建立與管理 virtualenv 環境,不需要再額外裝 virtualenv。 可以用類似這樣的 command `pyenv virtualenv myenv` 來建立一個 virtualenv 環境,然後可以用 `pyenv activate myenv` 來啟用這個虛擬環境。建立的這個虛擬環境的 python 版本是取決於現在 `pyenv version` 顯示的版本,也就是可以在 pyenv 安裝的不同 python 版本中建立 virtualenv 虛擬環境。 pyenv 還有一個蠻方便的功能是,可以直接在 .python\_version 檔案中寫入你想使用的 virtualenv 環境名稱,例如用 `pyenv local myenv` 寫入 myenv 到當前目錄下的 .python\_version,然後當你進入這個目錄時,不用 activate virtualenv,你已經自動進入了 myenv 這個虛擬環境,可以在裡面隨意安裝套件了。為什麼會這樣的原因,跟 pyenv-virtualenv 底層實現有關係,就不細講了。 用上面的方法,雖然進入了虛擬環境,但是 shell prompt 不會提示你現在在 myenv 虛擬環境中,可以用 `pyenv activate` 來啟用 shell prompt 提示,在[官網](https://github.com/pyenv/pyenv-virtualenv#activate-virtualenv)有教學在 .bashrc 中加一行指令可以讓你在進入目錄後自動 activate virtualenv,這樣可以看到 shell 提示,而且有些套件例如 jedi 需要你 activate virtualenv 後才能正常運作,所以 activate virtualenv 除了在 shell 增加提示外應該還做了一些其他事情。 不過官方的自動 activate 實現有點問題,啟用後會讓 shell 動作變慢,就是按下 enter 後要等一下才會有反應,所以我沒有啟用自動 activate,反正我只要進入目錄後就已經在虛擬環境中了,沒有 activate 只是沒有 shell 提示而已,如果真的有套件一定要 activate 才能用,再手動 activate 就好。