Python新手入門(mén)指南之如何極速搭建開(kāi)發(fā)環(huán)境
引言
Python在軟件開(kāi)發(fā)領(lǐng)域占據(jù)重要地位,廣泛應(yīng)用于Web開(kāi)發(fā)、數(shù)據(jù)分析、人工智能及自動(dòng)化腳本等領(lǐng)域。其簡(jiǎn)潔的語(yǔ)法和豐富的庫(kù)支持使其成為開(kāi)發(fā)者的首選語(yǔ)言之一,尤其在快速原型開(kāi)發(fā)和跨平臺(tái)項(xiàng)目中表現(xiàn)突出。
開(kāi)發(fā)環(huán)境搭建是高效編程的基礎(chǔ),直接影響代碼質(zhì)量、調(diào)試效率和協(xié)作流程。合適的工具鏈(如IDE、版本控制和依賴(lài)管理)能顯著降低學(xué)習(xí)成本,確保項(xiàng)目從開(kāi)發(fā)到部署的順暢過(guò)渡。
想我在入門(mén)python開(kāi)發(fā)的時(shí)候,遇到一堆坑,“python版本不匹配”,“代碼縮進(jìn)出問(wèn)題”,“中英文符號(hào)分不清”,光搭建開(kāi)發(fā)環(huán)境就遇到過(guò)很多問(wèn)題,比如安裝了3.12再安裝其他版本又占空間,還容易出問(wèn)題,還得修改環(huán)境變量,不過(guò),雖然坑多,但python確實(shí)好用,才讓我這幾年不放棄。
本文內(nèi)容面向初學(xué)者和中級(jí)開(kāi)發(fā)者,旨在提供清晰的實(shí)踐指導(dǎo)。由于本人是極端偏向于新技術(shù)的人,在本文中將不再介紹過(guò)氣的直接安裝python,也不會(huì)講conda體系復(fù)雜的虛擬環(huán)境安裝,而是直接使用新一代工具uv來(lái)快速搭建python開(kāi)發(fā)環(huán)境,無(wú)論是希望系統(tǒng)學(xué)習(xí)Python的新手,還是需優(yōu)化開(kāi)發(fā)環(huán)境的經(jīng)驗(yàn)者,均可從實(shí)用建議中受益。
為什么選擇uv?
因?yàn)檫@個(gè)工具可以管理python版本,可以作為包管理工具,同時(shí)最主要的是可以不用關(guān)注pip換源了,安裝包的速度是之前pip的好幾倍(基本上秒完成),除此以外占用空間小,項(xiàng)目成體系,簡(jiǎn)直是python開(kāi)發(fā)的神器。
基礎(chǔ)環(huán)境搭建
1. Windows環(huán)境搭建
在Windows下使用uv搭建環(huán)境非常簡(jiǎn)單,僅需要打開(kāi)powershell
,運(yùn)行以下命令即可
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
運(yùn)行完成后,執(zhí)行uv -V
,不報(bào)錯(cuò)就是安裝成功了
2. Mac和Linux系統(tǒng)搭建
在Mac和Linux系統(tǒng)下安裝uv也是十分容易,基本上僅需一條命令
curl -LsSf https://astral.sh/uv/install.sh | sh
需要注意的是,如果你報(bào)錯(cuò)了,請(qǐng)安裝curl
工具,盡管這個(gè)工具一般系統(tǒng)都是自帶的,但是任然存在部分精簡(jiǎn)系統(tǒng)沒(méi)有這個(gè)工具。
驗(yàn)證是否安裝成功的方法參考1. Windows環(huán)境搭建。
3. 安裝代碼編輯工具
代碼編輯工具無(wú)腦推VSCode
,當(dāng)然PyCharm
也是非常好用的,但是實(shí)際上VSCode
更加輕量級(jí),新手入門(mén)主要是關(guān)注代碼就行,而且免費(fèi)。安裝vscode僅需一行命令
winget install Microsoft.VisualStudioCode
安裝完成后打開(kāi)vscode僅需安裝一個(gè)Python Extension Pack
插件就可以開(kāi)始編程了。
uv工具的基本用法
官方給出了uv工具基本用法, 如下
uv init example cd example uv add ruff uv run ruff check uv lock uv sync
接下來(lái)我將挨個(gè)介紹這幾個(gè)命令
1. 初始化項(xiàng)目
uv創(chuàng)建一個(gè)新的項(xiàng)目非常簡(jiǎn)單粗暴,僅需要?jiǎng)?chuàng)建一個(gè)目錄,然后進(jìn)去執(zhí)行
uv init
或者不創(chuàng)建文件夾也行,直接運(yùn)行
uv init example
其中example就是給你創(chuàng)建的項(xiàng)目文件夾。(沒(méi)錯(cuò),這就完事了)
2. 添加依賴(lài)
添加依賴(lài)也是只有一條命令,非常好記,就是add,比如安裝ruff代碼檢查工具
uv add ruff
運(yùn)行效果大概是下面這樣
基本上秒完成,非???,不用換源,建議python開(kāi)發(fā)者都換到uv上來(lái)。
3. 代碼檢查
代碼檢查本質(zhì)上是不太需要的,畢竟python沒(méi)有那么嚴(yán)格,但是為了保證你寫(xiě)的代碼的正確性,建議檢查代碼。這部分內(nèi)容的基于上面安裝的ruff的,安裝了這個(gè)包才可以進(jìn)行代碼檢查。直接執(zhí)行以下命令
uv run ruff check
如果你的代碼沒(méi)有問(wèn)題,則會(huì)顯示以下效果
否則就會(huì)提示你哪里語(yǔ)法有問(wèn)題需要修改,直接幫新手完成了語(yǔ)法檢查的步驟。
4. 鎖定依賴(lài)
鎖定依賴(lài)沒(méi)有什么說(shuō)的,其實(shí)就是將你的依賴(lài)鎖定了,以后安裝就只安裝這個(gè)版本的依賴(lài),以防依賴(lài)更新了你的程序就跑不起來(lái)了,直接執(zhí)行下面的語(yǔ)句即可。
uv lock
5. 更新依賴(lài)
更新依賴(lài),見(jiàn)名知意,就是更新你項(xiàng)目的依賴(lài),如果你進(jìn)行了依賴(lài)改動(dòng)(手動(dòng)),那么就需要更新依賴(lài),也是一條命令
uv sync
6. 運(yùn)行代碼
基本的運(yùn)行代碼很簡(jiǎn)單,只要用run加腳本名就可以了,至于更復(fù)雜的可以去官方文檔研究研究,現(xiàn)在的mcp基本上都是用的uv來(lái)做的,就是因?yàn)槠溥\(yùn)行代碼很方便,也是一條命令
uv run main.py
uv的高級(jí)用法
1. 虛擬環(huán)境管理 (Virtual Environments)
uv 提供高效的虛擬環(huán)境管理功能,支持多種高級(jí)配置:
創(chuàng)建虛擬環(huán)境
# 創(chuàng)建默認(rèn)虛擬環(huán)境 uv venv .venv # 指定 Python 版本 uv venv --python 3.11 .venv
環(huán)境激活
# Unix 系統(tǒng) source .venv/bin/activate # Windows 系統(tǒng) .\.venv\Scripts\activate
環(huán)境管理
uv python install: 安裝python版本
uv python list: 查看可用的python版本
uv python find: 查找一個(gè)已安裝的python版本
uv python pin: 將當(dāng)前項(xiàng)目固定使用特定的Python版本。
uv python uninstall: 卸載一個(gè)python版本
高級(jí)特性
- 輕量級(jí)環(huán)境:比傳統(tǒng) virtualenv 快 10 倍
- 跨平臺(tái)兼容:Windows/macOS/Linux 一致體驗(yàn)
- 環(huán)境繼承:
--system-site-packages
復(fù)用系統(tǒng)包 - 符號(hào)鏈接:
--symlinks
減少磁盤(pán)占用
2. 腳本管理 (Scripts)
uv 支持在 pyproject.toml
中定義和管理項(xiàng)目腳本:
定義腳本
# pyproject.toml [tool.uv.scripts] # 簡(jiǎn)單命令 start = "python main.py" test = "pytest -v" # 多命令序列 deploy = [ "uv pip compile requirements.in -o requirements.txt", "uv pip sync requirements.txt", "gunicorn app:app" ] # 帶環(huán)境變量 migrate = { cmd = "alembic upgrade head", env = { "DB_URL" = "postgres://user:pass@localhost/db" }} # 平臺(tái)特定命令 serve = { windows = "waitress-serve --port=8000 app:app", unix = "gunicorn app:app" }
運(yùn)行腳本
# 運(yùn)行單個(gè)腳本 uv run start # 帶參數(shù)傳遞 uv run test -- -x # 傳遞給 pytest: pytest -v -x # 運(yùn)行多命令腳本 uv run deploy # 預(yù)定義鉤子 uv run pre-commit # 自動(dòng)運(yùn)行 pre-commit 鉤子
高級(jí)特性
- 參數(shù)傳遞:支持向腳本傳遞額外參數(shù)
- 環(huán)境隔離:每個(gè)腳本在獨(dú)立環(huán)境中運(yùn)行
- 依賴(lài)管理:自動(dòng)安裝腳本所需依賴(lài)
- 并行執(zhí)行:
uv run --parallel task1 task2
總結(jié)
本文介紹了基于uv
快速搭建Python開(kāi)發(fā)環(huán)境,以及相比較以往學(xué)習(xí)python走太多彎路,uv帶來(lái)了那些優(yōu)勢(shì),解決了哪些問(wèn)題,以及最基本的uv如何使用。
無(wú)論是python新手還是老手,都推薦使用uv來(lái)進(jìn)行python項(xiàng)目管理。
到此這篇關(guān)于Python新手入門(mén)指南之如何極速搭建開(kāi)發(fā)環(huán)境的文章就介紹到這了,更多相關(guān)Python搭建開(kāi)發(fā)環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談Python訪問(wèn)MySQL的正確姿勢(shì)
這篇文章主要介紹了淺談Python訪問(wèn)MySQL的正確姿勢(shì),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01python如何實(shí)現(xiàn)視頻轉(zhuǎn)代碼視頻
這篇文章主要為大家詳細(xì)介紹了python如何實(shí)現(xiàn)視頻轉(zhuǎn)代碼視頻,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06天翼開(kāi)放平臺(tái)免費(fèi)短信驗(yàn)證碼接口使用實(shí)例
天翼開(kāi)放平臺(tái)提供了一個(gè)免費(fèi)的短信驗(yàn)證碼API,下面看看使用方法吧,我們用python開(kāi)發(fā)接口2013-12-12Python比較文件夾比另一同名文件夾多出的文件并復(fù)制出來(lái)的方法
這篇文章主要介紹了Python比較文件夾比另一同名文件夾多出的文件并復(fù)制出來(lái)的方法,涉及Python針對(duì)文件與文件夾的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03對(duì)比分析BN和dropout在預(yù)測(cè)和訓(xùn)練時(shí)區(qū)別
這篇文章主要為大家介紹了對(duì)比分析BN和dropout在預(yù)測(cè)和訓(xùn)練時(shí)區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05如何解決pycharm調(diào)試報(bào)錯(cuò)的問(wèn)題
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于如何解決pycharm調(diào)試報(bào)錯(cuò)的問(wèn)題文章,需要的朋友們可以學(xué)習(xí)參考下。2020-08-08