python創(chuàng)建虛擬環(huán)境的3種方式
在 Python 開發(fā)中,主要有三種創(chuàng)建虛擬環(huán)境的方式,它們各有特點和適用場景。下面為你詳細(xì)介紹每種方式:
1.conda
Conda 是一個跨平臺的包管理器和環(huán)境管理器,由 Anaconda 發(fā)行版引入。
特點:
- 不僅僅是 Python:可以管理其他語言和工具的依賴
- 預(yù)編譯包:許多科學(xué)計算包有預(yù)編譯版本,安裝速度快
- 環(huán)境隔離徹底:包括系統(tǒng)庫級別的隔離
安裝:
# 安裝 Miniconda(輕量版)或 Anaconda(完整版)
# 下載地址:https://docs.conda.io/en/latest/miniconda.html
使用方法:
# 創(chuàng)建環(huán)境(默認(rèn)使用 conda 源) conda create -n myenv python=3.9 # 創(chuàng)建環(huán)境并指定包 conda create -n myenv python=3.9 numpy pandas # 激活環(huán)境 conda activate myenv # Windows/Linux/macOS # 退出環(huán)境 conda deactivate # 列出所有環(huán)境 conda env list # 刪除環(huán)境 conda remove -n myenv --all # 導(dǎo)出環(huán)境配置 conda env export > environment.yml # 從配置創(chuàng)建環(huán)境 conda env create -f environment.yml
優(yōu)點:
- 處理復(fù)雜依賴關(guān)系能力強
- 支持非 Python 包(如 R、C++庫)
- 二進(jìn)制包安裝,減少編譯問題
- 跨平臺一致性較好
缺點:
- 環(huán)境體積較大
- 社區(qū)版可能有些包更新不及時
2.pyenv + pyenv-virtualenv
這是兩個工具的組合:
- pyenv:管理多個 Python 版本
- pyenv-virtualenv:為不同項目創(chuàng)建虛擬環(huán)境
安裝:
# macOS brew install pyenv pyenv-virtualenv # Linux git clone https://github.com/pyenv/pyenv.git ~/.pyenv git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
配置 Shell(~/.bashrc 或 ~/.zshrc):
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
使用方法:
# 安裝指定 Python 版本 pyenv install 3.9.13 # 列出已安裝版本 pyenv versions # 創(chuàng)建虛擬環(huán)境(基于特定 Python 版本) pyenv virtualenv 3.9.13 myproject-3.9 # 激活環(huán)境 pyenv activate myproject-3.9 # 退出環(huán)境 pyenv deactivate # 設(shè)置項目本地環(huán)境(進(jìn)入目錄自動激活) cd myproject pyenv local myproject-3.9 # 刪除環(huán)境 pyenv uninstall myproject-3.9
優(yōu)點:
- 完美解決多版本 Python 共存問題
- 項目級自動激活很方便
- 輕量級,只管理 Python 環(huán)境
缺點:
- 需要額外配置
- 只管理 Python,不處理其他依賴
3.venv(Python 內(nèi)置)
Python 3.3+ 內(nèi)置的虛擬環(huán)境工具,無需額外安裝。
特點:
- 標(biāo)準(zhǔn)庫自帶:無需額外安裝
- 輕量簡單:功能專一
- Python 官方推薦
使用方法:
# 創(chuàng)建虛擬環(huán)境 python -m venv myenv # 或指定 Python 版本 python3.9 -m venv myenv # 激活環(huán)境 # Windows: myenv\Scripts\activate # Linux/macOS: source myenv/bin/activate # 退出環(huán)境 deactivate # 創(chuàng)建帶系統(tǒng) site-packages 的環(huán)境(可訪問系統(tǒng)包) python -m venv --system-site-packages myenv # 升級 pip 等工具 python -m venv --upgrade myenv
文件結(jié)構(gòu):
myenv/ ├── bin/ (或 Scripts/ 在 Windows) │ ├── activate │ ├── pip │ ├── python │ └── ... ├── lib/ │ └── python3.9/site-packages/ └── pyvenv.cfg
優(yōu)點:
- 無需安裝,Python 自帶
- 簡單易用,學(xué)習(xí)成本低
- 官方維護(hù),兼容性好
缺點:
- 不能管理 Python 版本本身
- 功能相對簡單
其他插件/工具
virtualenv(第三方,venv 的前身)
# 安裝 pip install virtualenv # 使用 virtualenv myenv source myenv/bin/activate
pipenv
結(jié)合了 pip 和虛擬環(huán)境管理
# 安裝 pip install pipenv # 使用 cd myproject pipenv --python 3.9 # 創(chuàng)建環(huán)境 pipenv install requests # 安裝包 pipenv shell # 激活環(huán)境 pipenv lock # 生成鎖文件
Poetry
現(xiàn)代 Python 包管理和依賴管理
# 安裝 pip install poetry # 使用 poetry new myproject # 創(chuàng)建新項目 poetry install # 安裝依賴 poetry add requests # 添加包 poetry shell # 激活環(huán)境
對比與選擇建議
| 工具 | 適用場景 | 優(yōu)點 | 缺點 |
|---|---|---|---|
| conda | 數(shù)據(jù)科學(xué)、機器學(xué)習(xí)、需要非Python依賴 | 依賴管理強大,預(yù)編譯包多 | 體積大,有些包更新慢 |
| pyenv+virtualenv | 多版本Python開發(fā),項目隔離 | Python版本管理優(yōu)秀,輕量 | 需要配置,只管理Python |
| venv | 簡單Python項目,標(biāo)準(zhǔn)開發(fā) | 內(nèi)置無需安裝,簡單直接 | 不能管理Python版本 |
| pipenv/Poetry | 現(xiàn)代化項目管理,依賴鎖定 | 依賴管理先進(jìn),整合性好 | 學(xué)習(xí)曲線稍陡 |
推薦選擇:
- 初學(xué)者/簡單項目:使用
venv,簡單夠用 - 數(shù)據(jù)科學(xué)/AI項目:使用
conda,依賴管理方便 - Web開發(fā)/多版本項目:使用
pyenv + virtualenv或Poetry - 團(tuán)隊協(xié)作項目:考慮
Poetry或pipenv,有 lock 文件保證一致性
每種工具都可以配合使用,比如用 pyenv 管理 Python 版本,用 venv 創(chuàng)建虛擬環(huán)境。選擇最適合你工作流的方式即可。
到此這篇關(guān)于python創(chuàng)建虛擬環(huán)境的3種方式的文章就介紹到這了,更多相關(guān)python創(chuàng)建虛擬環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python自帶的venv模塊創(chuàng)建虛擬環(huán)境全流程
- python創(chuàng)建虛擬環(huán)境的常用命令與使用
- python中虛擬環(huán)境創(chuàng)建的主流方式詳細(xì)操作指南
- Python中conda虛擬環(huán)境創(chuàng)建及使用小結(jié)
- Python虛擬環(huán)境創(chuàng)建和使用方法(使用自帶的venv模塊)
- python虛擬環(huán)境多種創(chuàng)建方式圖文詳解
- Python使用virtualenv創(chuàng)建虛擬環(huán)境的詳細(xì)步驟
- 使用Anaconda創(chuàng)建Python指定版本的虛擬環(huán)境的教程詳解
相關(guān)文章
Python實現(xiàn)字符串的逆序 C++字符串逆序算法
這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)字符串的逆序,C++將字符串逆序輸出,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04

