virtualenv管理Python環境

sgqmax發表於2024-11-02

管理Python環境

修改pip映象

mkdir -p ~/.config/pip
nano ~/.config/pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

virtualenv

pip install virtualenv

# 準備目錄並進入
mkdir -p /home/max/.envs

# 建立虛擬環境(按預設的Python版本)
virtualenv my_env01

# 也可以在建立時,使用-p指定版本
# virtualenv -p /usr/bin/python3.6 my_env02

# 每次都指定版本,很麻煩,在Linux下,可以將這個選項寫進入環境變數
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6" >> ~/.bashrc

進入/退出虛擬環境

cd /home/max/.envs
# 進入
source my_env01/bin/activate
# 退出
deactivate

刪除虛擬環境,只需刪除對應的資料夾,並不會影響全域性的Python和其他環境

cd /home/max/.envs
rm -rf my_env01

注意: 建立的虛擬環境,不會包含原生全域性環境的第三方包,其會保證新建虛擬環境的乾淨,若你需要和全域性環境使用相同的第三方包。可以使用如下方法:

# 匯出依賴包
pip freeze > requirements.txt
# 安裝依賴包
pip install -r requirements.txt

virtualenvwrapper

virtualenv 雖然已經相當好用了,可是功能還是不夠完善
每次都需要進入虛擬環境目錄下才能進行操作,很麻煩

# Linux安裝
pip install virtualenvwrapper
# Windows安裝
# pip install virtualenvwrapper-win

# 建立環境
mkvirtualenv my_env01
# 進入
workon my_env01
# 退出
deactivate
# 列出所有的虛擬環境,兩種方法
workon
lsvirtualenv
# 在虛擬環境內直接切換到其他環境
workon my_env02
# 刪除虛擬環境
rmvirtualenv my_env01

找到virtualenvwrapper.sh 路徑

which virtualenvwrapper.sh

在~/.bashrc 檔案新增配置

export WORKON_HOME="~/.envs"
export VIRTUALENVWRAPPER_PYTHON=/opt/miniconda3/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=~/.local/bin/virtualenv
source ~/.local/bin/virtualenvwrapper.sh

其他命令

# 列出幫助文件
virtualenvwrapper
# 複製虛擬環境
cpvirtualenv ENVNAME [TARGETENVNAME]
# 在所有的虛擬環境上執行命令
allvirtualenv pip install -U pip
# 刪除當前環境的所有第三方包
wipeenv
# 進入到當前虛擬環境的目錄
cdsitepackages
# 進入到當前虛擬環境的site-packages目錄
cdvirtualenv
# 顯示 site-packages 目錄中的內容
lssitepackages

相關文章