Python虚拟环境搭建与使用教程
时间:2025-11-13 16:33:46 253浏览 收藏
**Python虚拟环境创建与使用教程:告别项目依赖冲突** 还在为不同Python项目之间的依赖包版本冲突而烦恼吗?本文将手把手教你使用venv创建和管理Python虚拟环境,轻松隔离项目依赖,告别版本混乱。通过简单的命令,如`python3 -m venv .venv`即可快速创建虚拟环境,并通过`source .venv/bin/activate`或`.venv\Scripts\activate`激活,使项目拥有独立的运行空间。本文还详细介绍了如何使用`pip install`安装依赖包、`deactivate`退出环境,以及利用`requirements.txt`文件快速重建环境。此外,针对虚拟环境创建失败等常见问题,提供了详细的解决方案。掌握Python虚拟环境,让你的项目开发更加高效、稳定!
使用venv创建虚拟环境可隔离项目依赖,避免版本冲突。在项目目录运行python3 -m venv .venv创建环境,通过source .venv/bin/activate(macOS/Linux)或.venv\Scripts\activate(Windows)激活环境,提示符显示(.venv)表示成功。在虚拟环境中使用pip install安装包如requests、flask,所有依赖仅安装到该环境。完成工作后运行deactivate退出。不同项目可能需不同版本的同一包,虚拟环境确保各项目依赖独立。若创建失败,检查Python版本是否≥3.3,确认权限及系统依赖如python3-venv是否安装。使用pip freeze > requirements.txt生成依赖列表文件,便于在其他机器通过pip install -r requirements.txt重建相同环境。除venv外,conda和pipenv也是可选工具,但venv对多数Python项目已足够适用。

创建Python虚拟环境,简单来说,就是为了隔离不同项目所需的依赖包,避免版本冲突,保持项目环境的整洁。
解决方案
使用 venv 模块是 Python 3.3 及更高版本推荐的方式。
创建虚拟环境:
在你的项目目录下,打开终端或命令提示符,运行:
python3 -m venv .venv
这会在当前目录下创建一个名为
.venv的文件夹,里面包含了 Python 解释器、pip工具以及一些基本的环境文件。.venv只是一个常见的命名约定,你也可以用其他名字,比如env,但.venv更能体现隐藏目录的含义。激活虚拟环境:
激活虚拟环境才能使后续的
pip install命令将包安装到该环境中,而不是全局 Python 环境中。在 macOS 和 Linux 上:
source .venv/bin/activate
在 Windows 上:
.venv\Scripts\activate
激活后,你的终端提示符前会多一个
(.venv)的标识,表示你已经进入了虚拟环境。安装依赖包:
现在,你可以使用
pip安装项目所需的依赖包了。例如:pip install requests flask
这些包会被安装到
.venv文件夹中,不会影响全局 Python 环境。退出虚拟环境:
当你完成项目工作后,可以使用以下命令退出虚拟环境:
deactivate
终端提示符前的
(.venv)标识会消失。
为什么要用虚拟环境?
想象一下,你同时在做两个项目,一个项目需要 requests 2.20.0 版本,另一个项目需要 requests 2.28.0 版本。如果没有虚拟环境,你只能全局安装一个版本,这会导致其中一个项目无法正常运行。虚拟环境就像一个个独立的容器,每个项目都可以拥有自己独立的依赖包版本,互不干扰。
虚拟环境创建失败怎么办?
有时候,你可能会遇到虚拟环境创建失败的情况。常见的原因包括:
- Python 版本不兼容: 确保你使用的 Python 版本支持
venv模块(Python 3.3 及更高版本)。 - 权限问题: 尝试使用管理员权限运行命令。
- 缺少必要的系统依赖: 在某些 Linux 系统上,可能需要安装
python3-venv包。
requirements.txt 文件有什么用?
requirements.txt 文件记录了项目的所有依赖包及其版本信息。它可以让你轻松地在其他机器上重建相同的虚拟环境。
生成
requirements.txt文件:在虚拟环境中,运行:
pip freeze > requirements.txt
这会将当前虚拟环境中所有已安装的包及其版本信息写入
requirements.txt文件。使用
requirements.txt文件安装依赖:在新的机器上,进入项目目录,创建并激活虚拟环境后,运行:
pip install -r requirements.txt
这会根据
requirements.txt文件中记录的信息,自动安装所有依赖包及其对应版本。
除了 venv 还有其他选择吗?
当然。conda 是另一个流行的虚拟环境管理工具,尤其在数据科学领域应用广泛。pipenv 也是一个不错的选择,它集成了虚拟环境管理和依赖管理功能。选择哪个工具取决于你的个人偏好和项目需求。不过,对于简单的 Python 项目,venv 已经足够好用了。
好了,本文到此结束,带大家了解了《Python虚拟环境搭建与使用教程》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
300 收藏
-
310 收藏
-
355 收藏
-
260 收藏
-
478 收藏
-
322 收藏
-
147 收藏
-
397 收藏
-
173 收藏
-
113 收藏
-
186 收藏
-
485 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习