Virtualenvwrapper 的安装教程

Virtualenvwrapper

Virtaulenvwrapper是virtualenv的扩展包,用于更方便管理虚拟环境,它可以做:

  1. 将所有虚拟环境整合在一个目录下
  2. 管理(新增,删除,复制)虚拟环境
  3. 快速切换虚拟环境

安装方法

Linux:

1、安装

bash 复制代码
pip3 install virtualenvwrapper

2、创建目录用来存放虚拟环境

bash 复制代码
mkdir ~/.virtualenvs

3、在.bash_profile中添加

bash 复制代码
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环境:

bash 复制代码
source ~/.bash_profile

此时virtualenvwrapper就可以使用了。

Windows:

  1. 安装
bash 复制代码
pip install virtualenv
pip install virtualenvwrapper-win
  1. 创建WORKON_HOME环境变量,这里示例为D:\PyEnv

点击确认保存后,可正常使用了。

问题:

windows系统下在执行deactivate退出虚拟环境后,可能会提示if defined _OLD_VIRTUAL_PYTHONPATH (set "PYTHONPATH=" ) 信息。解决方法如下:

  1. 找到并转到安装默认 python 的文件夹,该文件夹用作 virtualenv 的基础,例如C:\Users\<UserName>\AppData\Local\Programs\Python\Python311

  2. 找到Scripts\mkvirtualenv.bat文件。

  3. 搜索_OLD_VIRTUAL_PYTHONPATH(大约在文件中间),然后写入@字符,使要写入activate.batdeactivate.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.^)
    )

  4. 保存文件并重新创建出现问题的环境。它应该不会对任何命令进行赘述。

作为替代方法,你可以直接编辑每个环境的\Scripts\子文件夹中的activate.batdeactivate.bat文件。

常用命令列表

workon:列出虚拟环境列表

lsvirtualenv:同上

mkvirtualenv:新建虚拟环境

workon 虚拟环境名称:切换虚拟环境

rmvirtualenv:删除虚拟环境

deactivate:离开虚拟环境

相关推荐
2601_96238243几秒前
python常用函数大全pdf-python函数大全.pdf
python·内置函数·io操作·集合操作·数学运算
奈斯先生Vector25 分钟前
AIGC 视频生成实战:用 Kling Video 拆解文生视频、图生视频与完整工作流
开发语言·人工智能·windows·python·aigc·音视频
小玮看世界30 分钟前
[Python]螺旋遍历 vs 最短路径:方向控制类算法的“同源异流”
开发语言·python·算法
OPEN-F41 分钟前
ROS2系列教程:tf2坐标变换详解(C++/Python)
开发语言·c++·python
2601_962097361 小时前
Python工作流实战:SpiffWorkflow深度应用与BPMN自动化指南
python·自动化·工作流·bpmn·spiffworkflow
baopixiaoz1 小时前
BeeQuant × BeeAgent:AI驱动智能交易
大数据·人工智能·python·区块链
公爵爱学习1 小时前
无人机定点飞行-介绍
开发语言·图像处理·python·学习·线性回归·无人机
stillstream_ink1 小时前
OpenCart UI 自动化测试实战:POM 四层架构 + 失败自动截图 + 飞书通知
python·测试
databook1 小时前
Beta 分布:如何用“成功”和“失败”来预测下次尝试
python·数据挖掘·数据分析
zhanghaha13142 小时前
Python进阶教程:27_subprocess 模块 零基础超详细教程
开发语言·python