Python 虚拟环境入门:给每个项目一间干净的“工作间”

举报
yd_227985793 发表于 2026/11/07 12:12:27 2026/11/07
【摘要】 Python 项目依赖互相“踩脚”?用内置 venv 三条命令给每个项目一间独立“工作间”:创建、激活、退出,附依赖清单导出与三个新手常见坑。

为什么你的第二个 Python 项目会“翻车”

很多初学者都遇到过这样的场景:第一个项目需要 requests 2.25,第二个项目却依赖 requests 2.31,装完新的,旧的又跑不起来了。原因很简单——所有包默认都装进了同一个全局环境里,项目之间互相“踩脚”。

虚拟环境就是解决这个问题的:给每个项目单独划分一间“工作间”,包的安装、卸载都只发生在这一间里,互不干扰。Python 从 3.3 起内置了 venv 模块,不需要额外安装任何工具。

三步走:创建、激活、退出

第一步:创建

打开终端,进入项目目录,执行:

python -m venv venv

这会在当前目录生成一个 venv 文件夹,里面是一套独立的 Python 解释器和包目录。文件夹名字可以自定义,习惯上常叫 venv 或 .venv。

第二步:激活

Windows PowerShell 下执行:

.\venv\Scripts\Activate.ps1

CMD 下是 venv\Scripts\activate.bat;Linux 和 macOS 下则是:

source venv/bin/activate

激活成功后,命令行开头会出现 (venv) 标记。此时执行 where python(Linux/macOS 用 which python)确认,指向的应该已经是 venv 文件夹里的解释器。

第三步:退出

deactivate

装包与依赖清单

激活环境后,pip install 装的所有包都只落在这间“工作间”里。为了让别人(或部署服务器)能复现你的环境,要养成导出依赖清单的习惯:

pip freeze > requirements.txt

到新机器上一条命令即可恢复:

pip install -r requirements.txt

这份清单建议提交到代码仓库,但 venv 文件夹本身不要提交,写进 .gitignore 即可。

新手常见的三个坑

  1. PowerShell 提示“在此系统上禁止运行脚本”:执行一次 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,允许本地脚本运行即可。
  2. 激活了环境却还是装到全局:多半是激活失败但没注意。每次激活前先看命令行有没有 (venv) 前缀,用 where python 验证最稳妥。
  3. IDE 里跑的还是全局解释器:VS Code、PyCharm 都要在项目设置里手动指向 venv 里的 python,否则点运行时用的仍是全局环境。

写在最后

虚拟环境是 Python 开发的“第一道工程习惯”,成本只有三条命令,却能让依赖冲突、环境复现这些最耗时的问题从根上消失。如果身边还有人直接往全局环境里 pip install,不妨把这篇转给 TA。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。