首页 > 精选要闻 > 宝藏问答 >

问 workon 后加什么 虚拟环境命令详解

2026-11-16 00:21:19
最佳答案

答

workon 是 Python 虚拟环境管理工具 virtualenvwrapper 里面的核心命令,workon 后面直接填写已经创建好的虚拟环境名称,作用是切换激活对应的虚拟环境,执行这条命令之后,终端提示符前面就会显示当前虚拟环境名字,后续安装包 运行 python 解释器都会在这个环境里面执行,不会污染系统全局 Python 环境。很多新手容易混淆,workon 后面不是填写项目路径,也不是填写 python 版本号,只能填写之前用 mkvirtualenv 创建出来的环境名称,如果填写错误名称,终端会直接报错提示环境不存在,这套命令依赖 virtualenvwrapper 插件,windows mac linux 三个系统安装配置方式不一样,环境名称区分大小写,同一个名字不能重复创建,深度使用的时候还要掌握列出全部环境 退出环境 新建环境 删除环境配套命令,理解多项目并行开发的时候,用 workon 快速在多个虚拟环境之间来回切换的工作流,解决多项目依赖版本冲突,比如一个项目需要 django2,另一个项目需要 django4,就可以分别建独立环境,用 workon 随时切换。

一 基础语法格式

workon 虚拟环境名称

示例

workon myenv

workon project_django

workon test310

执行成功之后,终端前面会变成类似 (myenv) C:> 这种标识,代表已经成功激活该虚拟环境

二 前置条件说明

workon 命令不是 Python 自带原生命令,必须提前安装 virtualenvwrapper

windows 系统对应的包名是 virtualenvwrapper win,mac linux 是 virtualenvwrapper

安装完成之后,还需要配置环境变量,终端才能识别 workon 这个指令,如果终端提示 workon 不是内部或者外部命令,就是插件没有安装或者环境变量没有配置成功

三 配套常用命令清单

命令作用说明
workon切换激活虚拟环境后面接环境名称
workon 不带参数列出全部已有虚拟环境直接输入 workon 回车,打印所有环境名字
mkvirtualenv 名称新建虚拟环境创建之后才可以用 workon 激活
deactivate退出当前虚拟环境不需要加环境名
rmvirtualenv 名称删除虚拟环境后面接环境名称
lsvirtualenv列出全部虚拟环境和 workon 不带参数效果接近

四 进阶使用要点

第一 环境名称区分大小写,Workon MyEnv 和 myenv 是两个不同环境,输入的时候要保持和创建时名称完全一致

第二 切换环境不需要先执行 deactivate 退出旧环境,直接执行 workon 新环境名称,系统会自动切换,这个是 workon 很大的优势,比原生 virtualenv 切换更省事

第三 新建环境的时候可以指定 python 版本,mkvirtualenv -p python3.10 env310,创建完成之后,workon env310 就可以进入这个 python3.10 环境

第四 多项目开发推荐每个项目单独独立虚拟环境,命名带上项目名和 python 版本,方便后续 workon 识别,比如 flask_py39

五 常见报错排查

报错 1 workon 不是内部或外部命令

原因 virtualenvwrapper 没有安装,或者环境变量没有配置,windows 需要运行 bat 初始化脚本,mac linux 需要写入 bashrc 或者 zshrc 配置文件

报错 2 workon 后填写名称提示环境不存在

原因 环境名字拼写错误,大小写错误,或者这个虚拟环境从来没有用 mkvirtualenv 创建过,可以直接输入 workon 回车,查看当前所有可用环境名称,对照修正

报错 3 切换之后 pip 安装包还是装到全局环境

原因 切换没有成功,检查终端提示符前面有没有虚拟环境标识,确认 workon 执行成功,再执行 pip 安装命令

【常见问题】

问题 1 workon 后加什么可以直接写项目文件夹路径吗

回答 1 workon 后加什么不能填写项目文件夹路径,workon 后面只能填写虚拟环境名称,项目路径和虚拟环境是两个概念,不要混淆,正确执行 workon 后加什么的操作就是填写 mkvirtualenv 创建的环境名字。

问题 2 workon 后加什么不带参数是什么效果

回答 2 workon 后加什么如果后面不写任何环境名称,直接回车,就会列出当前机器全部已经创建好的虚拟环境,用来查看有哪些环境可以切换,是查询环境列表,不是激活环境,了解 workon 后加什么可以辅助核对正确环境名。

问题 3 workon 后加什么切换新环境需要先 deactivate 吗

回答 3 workon 后加什么切换新环境的时候,不需要提前执行 deactivate 退出旧环境,直接 workon 填写新环境名称,工具会自动完成切换,这是 workon 后加什么命令的便利特性。

问题 4 workon 后加什么提示环境不存在怎么处理

回答 4 workon 后加什么提示环境不存在,优先输入 workon 回车查看全部环境名称,核对拼写和大小写,如果确实没有这个环境,需要先用 mkvirtualenv 创建,之后才可以 workon 后加什么完成激活。

【免责申明】

本文内容基于 virtualenvwrapper 工具常规用法编写,不同操作系统 shell 类型 工具版本参数会存在差异,部分新版 Python 开发方案已经改用 venv poetry conda 等方案,本文仅作为命令学习参考,不替代官方文档。