刚开始学 Python 时,很多人习惯直接安装第三方库:
python -m pip install requestspython -m pip install pandas
刚开始没什么问题,但项目一多,就可能出现:这个项目升级了一个库,另一个项目突然运行不了了。
这时候,你就需要了解 Python 的虚拟环境。
一、虚拟环境到底是什么?
简单理解,虚拟环境就是:
给每个Python项目准备一个独立的“小房间”。
假设项目A需要某个库的旧版本,项目B需要新版本,如果它们全部使用同一个Python环境,就可能发生版本冲突。
使用虚拟环境以后:
项目A → .venv → 自己的第三方库项目B → .venv → 自己的第三方库
两个项目各用各的,互不影响。
二、怎么创建venv虚拟环境?
venv 是Python自带的虚拟环境工具,一般不需要额外安装。
进入项目目录后执行:
Windows也可以:
执行成功后,项目目录里会出现一个 .venv 文件夹,这里面就是当前项目独立的Python环境。
我比较建议统一使用 .venv 这个名字,以后一眼就能知道它是虚拟环境。
三、创建以后,还要激活
这是很多新手容易漏掉的一步。
Windows CMD:
.venv\Scripts\activate.bat
PowerShell:
.venv\Scripts\Activate.ps1
macOS/Linux:
source .venv/bin/activate
成功后,终端前面通常会出现:
这就说明你已经进入当前项目的虚拟环境。
四、然后再用pip安装第三方库
进入虚拟环境后,再安装项目需要的库:
python -m pip install requests
查看当前环境已经安装了什么:
此时安装的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却还是提示:
先不要反复安装。
检查一下:编辑器当前使用的Python解释器,是不是.venv里的Python。
因为系统Python和虚拟环境里的Python是两个不同环境。
包装在A环境,代码却用B环境运行,自然找不到。
七、不用了怎么退出?
直接执行:
终端前面的 (.venv) 消失,就代表退出成功。
退出不会删除虚拟环境,下次继续开发时重新激活即可。
写在最后
如果把pip理解成Python的**“装备管理工具”,那么虚拟环境就相当于给不同项目准备了独立装备箱**。
整个过程其实很简单:
创建项目 → 创建.venv→ 激活 → pip安装依赖 → 写代码 → 记录requirements.txt
新手不用一开始就把所有命令背下来,自己完整操作一次,很快就能理解。
会用pip,是学会安装第三方库;会用虚拟环境,则是开始学会真正管理一个Python项目。