当前位置: 首页 > news >正文

[Python]如何用uv套件建置python專案與虛擬環境? - 详解

認識到python的uv套件得由當初學習Cline的MCP服務端(server)配置說起。Cline是一款VSCode的插件,可視為MCP客戶端(client),同時可讓開發者快速且方便地在VSCode環境中配置MCP server,並藉由與AI大語言模型搭配來訪問各款MCP server,以完成開發者的需求。若要體驗和進一步了解MCP的功效,Cline是一款快速上手的入門插件,使用方式可參考官網資料。

回到uv套件,當在Cline中配置MCP server的JSON檔案時,特別注意到檔案內引入"command":"uv",完整JSON內容如下。後來藉由Chatgpt的說明內容和套件網頁了解uv是一套可用於管理python套件的工具,除了比pip快上10倍~100倍之外,同時可建立python專案和虛擬環境,基本上可取代pip, pip venv。

 {
  "mcpServers": {
    "weather": {
"command": "uv",
"timeout": 60,
      "args": [
                "--directory",
                "/home/raspberry/uv/weather",
                "run",
                "weather.py"
        ]
      "transportType":"stdio"
    }
  }
}

uv套件的安裝相當簡便,同時指令也相當直觀,下列的安裝過程和指令操作環境為ubuntu 23.04 desktop。

安裝 uv

1.在終端機中,運行下列指令,即可開始安裝uv。

curl -Ls https://astral.sh/uv/install.sh | bash

2.安裝後,重啟終端機,或運行下列指令。

source ~/.profile   # 或 ~/.bashrc, ~/.zshrc

3.確認是否安裝成功並檢查版本。

uv --version

建立python專案

1.在終端機中,運行下列指令,即可建立一個名為myproject的python專案資料夾。

    mkdir myproject #建立myproject資料夾
    cd myproject #切換到myproject資料夾
    uv init #將myproject資料夾初始化為一個python專案資料夾

2.當myproject的python專案資料夾被建立後,資料夾中即出現一些檔案,大致如下:

pyproject.toml : 記錄此專案所需套件(開發者手動指定)與配置(如 `scripts`, `dependencies`) 
main.py: 預設python程式進入點,可自定義內容。
.gitignore: 用於上傳雲端git平台時,忽略 .env或開發者指定檔案等等帶有敏感資訊的檔案。
README.md:專案說明文件
Note: 用於確保版本和依賴一致性的uv.lock檔案,在專案資料夾被初始化建立後還不會出現,其在執行uv add或uv sync後才會產生,顯而易見地說明其記錄著安裝版本和依賴的資訊,以利後續clone該專案的開發者在相同環境下使用。

建立和啟動虛擬環境

1.在終端機的專案資料夾路徑中,運行下列指令來建立虛擬環境。

uv venv     #建立虛擬環境

運行結果與執行py -m venv myproject_env的結果很類似,即會建置出一個.venv的資料夾,該資料夾中也已預產生一些資料夾和檔案,其中lib資料夾即是紀錄未來在這個虛擬環境中安裝的套件。

2.運行下列指令來啟動並進到虛擬環境。

source .venv/bin/activate #啟用虛擬環境

Note:進到該虛擬環境中,即可依據專案需求利用uv add安裝套件,這些安裝在虛擬環境中的套件不會與本機環境中的套件相互衝突,這也是虛擬環境的優點。

整體來說,相較於之前使用的python venv套件,uv套件除了可建置虛擬環境之外,尚可建置python專案,其中也將git整合在一起。同時使用uv venv+uv init來建置新專案,整合性與效能也確實比較完整。下列尚有一些由chatgpt提供的uv套件資料,包含相類似套件的比較,以及常用指令,一併供參考。

http://www.jsqmd.com/news/362740/

相关文章:

  • Flutter for OpenHarmony:技术全解析 - 基于Flutter的轻量级数据快照分析器开发实践
  • 2026教育收费管理系统推荐榜:新生报到一站式解决方案、智慧校园一体化管理平台解决方案、未来学校智慧平台推荐选择指南 - 优质品牌商家
  • 基于大数据的卵巢癌风险数据可视化分析系统(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • P5638 【CSGRound2】光骓者的荣耀
  • 2026年双t混凝土板厂家最新推荐:屋面双t板、混凝土马鞍板、钢筋混凝土双t板、预应力双t板、马鞍形屋面板选择指南 - 优质品牌商家
  • 核酸适配体合成服务:精准医疗与检测的定制化核心支撑
  • Flutter for OpenHarmony:彩谱 - 基于 Flutter 框架开发的 HSL 动态配色灵感生成工具
  • weixin212答题小程序ssm(源码)_kaic
  • Flutter for OpenHarmony:用 Flutter 构建极简草稿本的工程实践与设计思考
  • Kafka+Spark Streaming构建高吞吐实时分析系统
  • weixin210微信小程序自助点餐系统springboot(源码)_kaic
  • Flutter for OpenHarmony:箱迹 - 基于 Flutter 的轻量级包裹追踪系统实现与状态管理实践
  • 效果最好的招聘平台App有哪些?2026权威榜单揭晓
  • Flutter for OpenHarmony:边界测量 - 基于 Flutter 的跨平台虚拟尺实现与屏幕测量原理
  • weixin211校园约拍微信小程序设计与实现ssm(源码)_kaic
  • 2026年充电桩收费管理系统公司权威推荐:充电桩软件管理系统/充电桩软件系统/充电站平台开发/选择指南 - 优质品牌商家
  • 2026军事模型优质厂家推荐榜单 - 优质品牌商家
  • SSM喵犬云救助平台4r6t3--程序+源码+数据库+调试部署+开发环境
  • 2026激光切管机十大品牌实力排名(权威TOP10榜单) - 匠言榜单
  • 如何设计元宇宙中的“智能提示推荐”?提示工程架构师的4种范式思路
  • Java全栈工程师面试实录:从基础到复杂场景的深度解析
  • SSM批改作业系统y1nqo(程序+源码+数据库+调试部署+开发环境)
  • 提示工程架构师必学:提示工程中的‘错误容忍’设计,提升响应速度同时减少重试
  • SSM农村留守老人帮扶系统e2g3p--(程序+源码+数据库+调试部署+开发环境)
  • 告别局限!Stirling-PDF+cpolar 打造随身 PDF 处理神器
  • 2024年提示工程架构师必备:提示系统市场需求分析的6大核心维度
  • 【Scrapy 实战】一站式爬取三大招聘平台数据(BOSS 直聘 / 智联 / 51job),Redis 去重 + MySQL 数仓级存储
  • 2026年市场上驻车空调品牌推荐,广东制冷量高的驻车空调品牌有哪些? - 睿易优选
  • SSM企业人力资源管理系统9h62j--(程序+源码+数据库+调试部署+开发环境)
  • 炒个股--学宏观