UV python 操作筆記

分享
UV python 操作筆記
Photo by Hitesh Choudhary / Unsplash

前陣子看到了 uv 這個 python 套件、專案管理器,使用了之後發現簡直快、輕便又好上手,下方是我常使用的指令集 (持續更新中):

查看 python 版本清單

uv python list
💡
已安裝的旁邊會顯示 python 安裝目錄位址

安裝 python 版本

# latest
uv python install
# specific version
uv python install <version number>

初始化 uv 專案資料夾。

uv init <project name>
💡
新專案預設會自動產生 git repository、.python-versionpyproject.toml 以及 hello world 的範例

加入 / 移除套件

uv add <package name>
uv remove <package name>

安裝套件

# 從 pyproject.toml 同步
uv sync
# 從 requestments.txt 安裝
uv add -r requestments.txt
# 直接執行專案中的 python 檔案,會自動補上 venv 在 pyproject.toml 上缺失的套件
uv run <filename.py>
💡
套件預設會安裝在專案的 .venv 目錄下,前提是專案根目錄下必須要有 pyproject.toml 檔案

將其他套件管理器如(pipenv)遷移至 uv,可以使用大神們寫的 migrate-to-uv

執行下方指令:

# With uv
uvx migrate-to-uv

# With pipx
pipx run migrate-to-uv

我用了 uv 建立了最簡單的 Flask api project 範例,參考 github:

GitHub - GXiang314/uv-flask-example
Contribute to GXiang314/uv-flask-example development by creating an account on GitHub.

參考資料

GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
An extremely fast Python package and project manager, written in Rust. - astral-sh/uv
GitHub - mkniewallner/migrate-to-uv: Migrate a project from Poetry/Pipenv/pip-tools/pip to uv package manager
Migrate a project from Poetry/Pipenv/pip-tools/pip to uv package manager - mkniewallner/migrate-to-uv

Read more

Windows Sandbox 沙箱閃退顯示連線已中斷解決方法

Windows Sandbox 沙箱閃退顯示連線已中斷解決方法

想拿 Windows Sandbox 測試東西,隔離環境用完就丟最省事。結果一打開沙箱就直接跳「與 Windows 沙盒環境的連線已中斷。是否要重新連線?」,訊息一出來就閃退,連畫面都還沒進去。 翻到 Eleven Forum 這串,有大神直接講解怎麼解決:把 vGPU 共用關掉。 Just had this issue after using Sandbox for years. My fix, as found in an Arabic YouTube video, is to use gpedit.msc and change the Computer Configuration -> Administrative

By GXiang
關於 Firefox 複製網址列連結貼上文本編輯器沒有網頁 Title 的解決方法

關於 Firefox 複製網址列連結貼上文本編輯器沒有網頁 Title 的解決方法

最近從 Edge 換回 Firefox,用沒幾天就被一個小地方卡住。 在 Edge 上,網址列複製網址、到 AFFiNE 筆記裡貼上,出來的是一條帶網頁標題的超連結,標題直接寫在筆記裡,之後回頭看一眼就知道那是什麼。Firefox 沒有這個行為,貼上去就是一長串網址: 筆記一多,這些網址就是一坨要一條條點開才知道是什麼的東西,關鍵字也搜不到。 先去看官方有沒有打算做。Mozilla Connect 上有這則提案:When copy / pasting URL include Meta Title of the ... - Mozilla Connect,截至寫這篇為止沒看到後續進度。 那就找插件。試了兩個: URL2Clipboard 功能最接近我要的,而且它有個細節做得很好:Ctrl + V 貼出來是帶超連結的標題,Ctrl + Shift + V(貼上為純文字)則只有標題文字,

By GXiang
ts-rest 的 API 測試手法(1)

ts-rest 的 API 測試手法(1)

今天與朋友討論到 ts-rest 撰寫 API test 的時候可以用 Zod 的 safeParse().success 判斷 API Response 的 schema 正不正確。 Sample Code: const { body, status } = client.users.create({ body: createUserPayload(), }) expect( userContract.create.responses[201].safeParse(body) .success, ).toBe(true) 這樣做確實會減少許多傳統需要手動添加 expect.any(Type)...等等的型別驗證,如果只是單純驗證型別,確實透過 ts-rest 合約搭配的 Zod 的 safeParse

By GXiang
把 MixerBox 歌單匯入到 Spotify

把 MixerBox 歌單匯入到 Spotify

本文由 個人medium文章 同步 筆者最近從 MixerBox 跳槽到 Spotify,但因為 Spotify 推薦的歌單不符合我的口味,又想把 MixerBox 歌單直接無痛移轉到 Spotify,網路上爬文許久,雖然有看到 Jerry 大大分享的這篇文章,但似乎已經沒辦法使用,既然沒有現成的解決方案,那我們就只好動動自己的小腦袋了🧠 貼心體醒:接下來的內容並不會要求撰寫/查看任何程式🙂 使用工具:瀏覽器, Visual Studio Code 筆者在目前看到的平台歌單轉移工具 TuneMyMusic 中,我發現了一個可能性,在第一步選擇歌曲來源時,有一個選項叫做「任意文本」。 點了之後才發現,原來可以利用歌名加上換行分隔作為清單進行匯入!那事情就簡單多了,我們只要能拿到自己播放清單中的歌曲文字列表就可以直接匯入。 接下來我們來到 MixerBox Web 版頁面,點擊「我的音樂庫」,可以看到自己的歌單。 點擊你想要的歌單後,所有歌曲都會呈現在頁面上。 那麼接下來的問題是:

By GXiang