python版本切換工具pyenv的安裝及用法
Pyenv 是什么?
python 的版本切換工具
python 的 Pyenv 相當于 node 的 nvm。
它可以讓你:
- 安裝多個 Python 版本
- 在項目中指定特定版本
- 自動切換版本,不影響系統(tǒng)環(huán)境
- 兼容 macOS / Linux
它不會替你管理虛擬環(huán)境,但可以與 venv / Poetry 完美結合。
安裝 Pyenv(macOS)
使用 Homebrew:
brew update brew install pyenv
配置 shell(zsh 為例)
編輯 ~/.zshrc,加入:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)"
重新加載配置:
source ~/.zshrc
完成 ??
安裝一個 Python 版本
比如安裝當前最穩(wěn)定的 Python 3.11:
pyenv install 3.11.7
查看已安裝版本:
pyenv versions
在項目中設置 Python 版本(強烈推薦)
進入項目目錄:
cd my-ai-project pyenv local 3.11.7
這會自動生成:
.python-version
以后進入這個目錄時,會自動切換到 3.11.7,這就像 Node 中的:
.nvmrc
設置全局默認 Python 版本
pyenv global 3.11.7
一般不推薦,除非你已經(jīng)使用 pyenv 接管全部 Python。
搭配虛擬環(huán)境使用(最佳實踐)
使用 venv
python3 -m venv .venv source .venv/bin/activate
使用 Poetry(更現(xiàn)代)
poetry init poetry install
Poetry 會自動讀取 pyenv 的 Python 版本。
pyenv 常用命令總結
| 命令 | 作用 |
|---|---|
pyenv install -l | 查看可安裝的 Python 版本 |
pyenv install 3.11.7 | 安裝指定版本 |
pyenv versions | 查看已安裝版本 |
pyenv local 3.11.7 | 設置項目 Python 版本 |
pyenv global 3.11.7 | 設置全局 Python 版本 |
pyenv uninstall 3.11.7 | 卸載版本 |
pyenv which python | 查看當前可用 Python 路徑 |
Pyenv 的實現(xiàn)原理(簡單講)
Pyenv 使用了一個非常巧妙的機制:
Shims(墊片)機制
它在你的 PATH 前面放置一個目錄:
~/.pyenv/shims
里面放置 python, pip 等可執(zhí)行文件的“代理”,
當你調用 python 時:
- 先查 .python-version
- 找出對應 Python 版本
- 調用真實 Python 而不是系統(tǒng) Python
這和 nvm 的原理幾乎一樣。
Pyenv + Poetry + pipx:最強組合
你可以這樣搭配:
| 工具 | 作用 |
|---|---|
| pyenv | 管理 Python 版本(像 nvm) |
| poetry | 管理項目依賴 & 虛擬環(huán)境(像 pnpm + package.json) |
| pipx | 管理全局 CLI 工具安裝(像 npm global install 的替代) |
這套組合可打造行業(yè)內最干凈、可維護的 AI/后端開發(fā)環(huán)境。
到此這篇關于python版本切換工具pyenv的安裝及用法的文章就介紹到這了,更多相關python版本切換工具pyenv內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
終于明白tf.reduce_sum()函數(shù)和tf.reduce_mean()函數(shù)用法
這篇文章主要介紹了終于明白tf.reduce_sum()函數(shù)和tf.reduce_mean()函數(shù)用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11
解決python繪圖使用subplots出現(xiàn)標題重疊的問題
這篇文章主要介紹了python繪圖使用subplots出現(xiàn)標題重疊的問題及解決方法,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-04-04
Python+tkinter實現(xiàn)動態(tài)連接數(shù)據(jù)庫
在使用 Tkinter (tk) 開發(fā) GUI 程序時,可以通過多種方式讓用戶自由更改數(shù)據(jù)庫連接地址,本文主要介紹了三種常用方法,感興趣的小伙伴可以了解下2025-03-03
Python中staticmethod和classmethod的作用與區(qū)別
今天小編就為大家分享一篇關于Python中staticmethod和classmethod的作用與區(qū)別,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10

