Py学习  »  Python

Python为什么要用虚拟环境?venv创建、激活和使用一次讲清楚

码上编程学习社 • 14 小时前 • 16 次点击  

刚开始学 Python 时,很多人习惯直接安装第三方库:

python -m pip install requestspython -m pip install pandas

刚开始没什么问题,但项目一多,就可能出现:这个项目升级了一个库,另一个项目突然运行不了了。

这时候,你就需要了解 Python 的虚拟环境

一、虚拟环境到底是什么?

简单理解,虚拟环境就是:

给每个Python项目准备一个独立的“小房间”。

假设项目A需要某个库的旧版本,项目B需要新版本,如果它们全部使用同一个Python环境,就可能发生版本冲突。

使用虚拟环境以后:

项目A → .venv → 自己的第三方库项目B → .venv → 自己的第三方库

两个项目各用各的,互不影响。

二、怎么创建venv虚拟环境?

venv 是Python自带的虚拟环境工具,一般不需要额外安装。

进入项目目录后执行:

python -m venv .venv

Windows也可以:

py -m venv .venv

执行成功后,项目目录里会出现一个 .venv 文件夹,这里面就是当前项目独立的Python环境。

我比较建议统一使用 .venv 这个名字,以后一眼就能知道它是虚拟环境。

三、创建以后,还要激活

这是很多新手容易漏掉的一步。

Windows CMD:

.venv\Scripts\activate.bat

PowerShell:

.venv\Scripts\Activate.ps1

macOS/Linux:

source .venv/bin/activate

成功后,终端前面通常会出现:

(.venv)

这就说明你已经进入当前项目的虚拟环境。

四、然后再用pip安装第三方库

进入虚拟环境后,再安装项目需要的库:

python -m pip install requests

查看当前环境已经安装了什么:

python -m pip list

此时安装的requests属于当前项目的虚拟环境,不会和其他项目混在一起。

所以比较推荐的习惯是:

一个项目 → 一个虚拟环境 → 各自管理依赖。

五、项目发给别人,.venv要一起发吗?

一般不用。

更常见的方法是把项目依赖记录下来:

python -m pip freeze > requirements.txt

别人拿到项目以后,自己创建虚拟环境,然后执行:

python -m pip install -r requirements.txt

就可以按照依赖文件重新安装需要的库。

六、安装成功,为什么还是import报错?

这是新手非常常见的问题。

如果你已经安装了requests:

python -m pip install requests

PyCharm或者VS Code却还是提示:

ModuleNotFoundError

先不要反复安装。

检查一下:编辑器当前使用的Python解释器,是不是.venv里的Python。

因为系统Python和虚拟环境里的Python是两个不同环境。

包装在A环境,代码却用B环境运行,自然找不到。

七、不用了怎么退出?

直接执行:

deactivate

终端前面的 (.venv) 消失,就代表退出成功。

退出不会删除虚拟环境,下次继续开发时重新激活即可。

写在最后

如果把pip理解成Python的**“装备管理工具”,那么虚拟环境就相当于给不同项目准备了独立装备箱**。

整个过程其实很简单:

创建项目 → 创建.venv→ 激活 → pip安装依赖 → 写代码 → 记录requirements.txt

新手不用一开始就把所有命令背下来,自己完整操作一次,很快就能理解。

会用pip,是学会安装第三方库;会用虚拟环境,则是开始学会真正管理一个Python项目。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/200635