Virtualenvwrapper
Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:
- 将所有虚拟环境整合在一个目录下
 - 管理(新增,删除,复制)虚拟环境
 - 快速切换虚拟环境
 
安装方法
Linux:
1、安装
pip3 install virtualenvwrapper
 
2、创建目录用来存放虚拟环境
mkdir ~/.virtualenvs
 
3、在.bash_profile中添加
cat >> /root/.bash_profile << EOF
export WORKON_HOME=~/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
source /usr/local/python3/bin/virtualenvwrapper.sh
EOF
 
4、运行 source 重新加载bash环境:
source ~/.bash_profile
 
此时virtualenvwrapper就可以使用了。
Windows:
- 安装
 
pip install virtualenv
pip install virtualenvwrapper-win
 
- 创建
WORKON_HOME环境变量,这里示例为D:\PyEnv 

 点击确认保存后,可正常使用了。
问题:
windows系统下在执行deactivate退出虚拟环境后,可能会提示if defined _OLD_VIRTUAL_PYTHONPATH (set "PYTHONPATH=" ) 信息。解决方法如下:
- 找到并转到安装默认 python 的文件夹,该文件夹用作 virtualenv 的基础,例如
C:\Users\<UserName>\AppData\Local\Programs\Python\Python311。 - 找到
Scripts\mkvirtualenv.bat文件。 - 搜索
_OLD_VIRTUAL_PYTHONPATH(大约在文件中间),然后写入@字符,使要写入activate.bat和deactivate.bat的每条命令静音。比如这样: 
>>"%WORKON_HOME%\%venvwrapper.quoteless_envname%\Scripts\activate.bat" (
    echo.:: In case user makes changes to PYTHONPATH
    echo.if defined _OLD_VIRTUAL_PYTHONPATH (
    echo.    set "PYTHONPATH=%%_OLD_VIRTUAL_PYTHONPATH%%"
    echo.^) else (
    echo.    set "_OLD_VIRTUAL_PYTHONPATH=%%PYTHONPATH%%"
    echo.^)
)
:: In deactivate.bat, reset PYTHONPATH to its former value
>>"%WORKON_HOME%\%venvwrapper.quoteless_envname%\Scripts\deactivate.bat" (
    echo.
    echo.if defined _OLD_VIRTUAL_PYTHONPATH (
    echo.    set "PYTHONPATH=%%_OLD_VIRTUAL_PYTHONPATH%%"
    echo.^)
)
 
- 保存文件并重新创建出现问题的环境。它应该不会对任何命令进行赘述。
 
作为替代方法,你可以直接编辑每个环境的\Scripts\子文件夹中的activate.bat和deactivate.bat文件。
常用命令列表
workon:列出虚拟环境列表
 lsvirtualenv:同上
 mkvirtualenv:新建虚拟环境
 workon [虚拟环境名称]:切换虚拟环境
 rmvirtualenv:删除虚拟环境
 deactivate:离开虚拟环境



















