一步步教你用 venv 管理python环境

Python虚拟环境管理venv+pyenv 在不同的 Python 项目或者不同的目录下,可以创建相同名字的 venv 虚拟环境。在不同的 Python 项目或者不同的目录下,可以创建相同名字的 venv 虚拟环境。在不同的 Python 项目中,为避免依赖冲突,或者是需要特定的 python 版本。可用于创建轻量级的虚拟环境,是 Python3 中内置的一个模块,不需要额外安装。虚拟环境只用创建一次,下次启动项目时,直接激活虚拟环境,然后就能运行项目了。虚拟环境只用创建一次,下次启动项目时,直接激活虚拟环境,然后就能运行项目了。 阅读详情

在 macOS 上使用 venv 切换环境,核心就是为每个项目创建独立的“沙盒”,并在终端中“激活”它。激活后,你安装的包和运行的 Python 命令就都在这个沙盒里了。

venv 是项目级别的环境隔离工具,它主要管理包的依赖,但不能切换 Python 主版本(例如从 3.9 切换到 3.11)。如果你的项目需要不同的 Python 主版本,可以配合我之前提到的 pyenv 一起使用。

下面就是详细的步骤指南:

📝 一步步教你用 venv 管理环境

1. 创建虚拟环境

首先,打开终端(Terminal)并进入你的项目目录,然后运行创建命令。通常,大家会把虚拟环境命名为 venv 或 .venv,这样既标准又方便在 .gitignore 文件中忽略它。

# 进入你的项目文件夹
cd /path/to/your/project

# 创建一个名为 'venv' 的虚拟环境
python3 -m venv venv
  • python3: 调用你系统当前默认的 Python 3 解释器。

  • -m venv: 告诉 Python 运行 venv 这个模块。

  • venv: 这是你要创建的虚拟环境的目录名。运行后,项目文件夹下会多出一个叫 venv 的文件夹,里面包含了一个独立的 Python 解释器和库目录。

    小技巧:如果你的系统里安装了多个 Python 版本(比如 3.9 和 3.11),并且想用特定版本来创建环境,可以这样指定:

    # 使用 Python 3.9 版本来创建环境
    python3.9 -m venv venv
    
2. 激活虚拟环境

创建好之后,需要“激活”它才能开始使用。激活的命令在 macOS 上也是一样的:

# 激活刚才创建的 venv 环境
source venv/bin/activate

执行完这个命令后,你会发现终端命令行的最前面出现了 (venv) 标识。这就说明你已经成功进入了虚拟环境,接下来的操作都会在这个隔离的空间里进行。

3. 验证环境是否切换成功

激活后,可以通过以下命令来确认是否真的切换到了虚拟环境:

# 查看 Python 解释器的路径,应该指向你的项目目录下的 venv
which python
# 输出示例: /path/to/your/project/venv/bin/python

# 查看当前环境里安装了哪些包(刚创建时应该是空的或只有基础包)
pip list

如果 which python 显示的路径包含了你的项目文件夹和 venv,那就说明一切正常。

4. 在环境中管理项目依赖

现在,你可以在这个虚拟环境里自由地为你的项目安装包了,所有安装都不会影响到系统全局或其他项目。

# 安装一个包,例如 requests
pip install requests

# 安装特定版本的包
pip install django==4.2

# 如果你有 requirements.txt 文件,可以一键安装所有依赖
pip install -r requirements.txt

# 查看当前环境已安装的所有包
pip list

# 将当前环境的包列表导出到 requirements.txt 文件
pip freeze > requirements.txt

requirements.txt 文件非常重要,它记录了你项目精确的依赖关系。当你在新电脑上或与他人协作时,只需要通过 pip install -r requirements.txt 就能复现完全一样的环境。

5. 退出虚拟环境

当你在该项目的工作完成,想回到系统的全局 Python 环境时,只需运行一个简单的命令:

deactivate

运行后,命令行前的 (venv) 标识就会消失。

6. 删除虚拟环境

如果你不再需要这个项目环境了,直接删除它所在的文件夹即可,非常干净。

# 确保已经先 deactivate 退出了环境
rm -rf venv

💡 在 VS Code 中使用虚拟环境

如果你使用 VS Code 编辑器,可以更方便地切换环境。

  1. 打开项目文件夹。
  2. 使用快捷键 Shift + Command + P 打开命令面板。
  3. 输入 Python: Select Interpreter 并选择。
  4. 在弹出的列表中,找到并选择那个路径包含 venv 的选项(例如 ./venv/bin/python)。
  5. 之后,你在 VS Code 中打开的终端通常也会自动激活这个虚拟环境。

✨ 最佳实践小贴士

  • 一个项目,一个环境:强烈建议为每一个 Python 项目都创建它自己独立的虚拟环境。
  • 记录依赖:务必使用 pip freeze > requirements.txt 来记录项目的精确依赖。
  • 忽略环境文件夹:记得将 venv/ 或 .venv/ 添加到你的 .gitignore 文件中,避免将庞大的虚拟环境文件上传到代码仓库。

希望这份指南能帮你顺利地在 Mac 上用 venv 管理好 Python 环境。如果在操作中遇到什么具体的报错,或者想了解如何用 pyenv 来管理 Python 版本,随时可以再问我~

常见问题

vnev激活后发现虚拟环境内部中没有pip文件

激活虚拟环境后找不到 pip 文件,这是一个比较常见的问题。通常不是因为激活步骤错了,而是在创建虚拟环境的过程中出了岔子,导致 pip 本身就没有被安装进环境里。

🔍 为什么会出现这种情况?

这通常是由于你用来创建虚拟环境的系统 Python 缺少了 ensurepip 模块。venv 模块在创建环境时,正是依赖 ensurepip 来安装 pip 的 。

以下是在 macOS 上导致此问题的几个常见原因:

  1. 使用了系统自带的 Python(最常见):macOS 自带的 Python(通常在 /usr/bin/python3)出于系统稳定性考虑,可能会被裁剪,不一定包含完整的 venv 支持,或者 ensurepip 模块不可用 。
  2. 通过某种方式安装的 Python 不完整:如果你不是通过官方安装包或 homebrew 安装 Python,而是通过其他方式,可能会缺少一些标准库组件。
  3. 特定的 Python 版本问题:有记录显示,在某些系统上,使用特定版本的 Python (如 python3.10) 创建虚拟环境时,确实会出现 pip 丢失的情况 。

✅ 如何解决?

不用着急,你可以按照以下步骤来排查和修复。请打开你的终端(Terminal),按顺序尝试:

第一步:快速检查(确认问题根源)

首先,激活你那个没有 pip 的虚拟环境,然后运行 python -m ensurepip 命令,看看系统能否强制安装上 pip。

# 1. 激活你的环境
source your_env_name/bin/activate

# 2. 尝试运行 ensurepip
python -m ensurepip --upgrade
  • 如果命令成功运行:那么 pip 应该就被安装到你的环境里了。之后你就可以正常使用 pip 了 。
深入了解 Python 的 venv 虚拟环境 venvmyenv/├── bin/ # 存放激活脚本和 Python 可执行文件 (Linux/macOS)├── Scripts/ # 存放激活脚本和 Python 可执行文件 (Windows)├── include/ # C 头文件,用于构建 Python 扩展模块├── lib/ # 存放虚拟环境中的 Python 标准库和依赖库│ ├── site-packages/ # 第三方库的安装位置├── pyvenv.cfg # 虚拟环境配置文件,记录了 Python 版本信息。 阅读详情

相关推荐

python多环境管理一(venv与virtualenv)

一、背景 我们经常会遇见这样的场景: 1、各个项目使用的python版本不相同 由于Python的解释器版本众多,各版本之间差异非常大。特别是python2和python3,互不兼容。 有些项目可能用的python2.7,有些项目可能用的是python3.6,有些则使用的3.8等,但是它们却需要运行在同一个服务器环境中。(docker除外,docker容器可以隔离不同的项目环境。) 2、系统依赖自带的解释器 系统的一些服务组件一般也会依赖Python环境。不同的Linux发行版自带的Python

Python_xiaowu的博客 1760

python自带的轻量级虚拟环境venv

python的3.3版本后,引入venv,有什么优点,具体如何用?

ybdesire的专栏 2万+

[Venv]Windows下Python程序虚拟环境配置

Python虚拟环境管理工具Venv

m0_61155226的博客 4295

python venv虚拟环境初体验

工作需要使用python做mongdb的监控,那内网怎么installmongdb的第三方包呢?了解到python可以install本地库到项目虚环境,做一个记录。

dyq94310的博客 812

使用Intel编译器编译OpenFOAM

本文总结了使用INTEL编译器编译OpenFOAM的过程

姜蜉蝣的博客 1551

元数据及数据仓库相关概念

文章目录元数据(metadata)的概念Data about Data定义技术元数据业务元数据总结数据仓库ODS简单的理解为 Operational Data Store, 运营数据仓储 数据整合层(也叫做数据缓冲层)EDW简单理解为 Enterprise Data Warehouse, 企业数据仓库ODS与EDW之间的差异使用角色数据来源数据获取性能和及时性数据架构数据共享能力数据系统提供应用数...

frone的专栏 3139

激活vnev虚拟环境

是Python标准库中自带的用于创建虚拟环境的模块,它可以在指定的目录下创建一个包含特定版本的Python和相关库的独立环境。虚拟环境的主要作用是隔离项目的运行环境,以便在不同项目之间独立管理依赖和Python版本,避免冲突和影响系统全局环境。通过激活虚拟环境,我们可以在其中安装、卸载Python包,而不会影响到系统中的其他Python环境。这使得我们可以为每个项目创建一个独立的环境,从而避免了不同项目之间的依赖冲突。确保你已经创建了虚拟环境。检查激活后的命令行提示符是否包含虚拟环境的名称。

2202_75662828的博客 794

实战MSP-M0G3507与陶晶驰串口屏的通信协议解析

本文详细解析了MSP-M0G3507微控制器与陶晶驰串口屏的通信协议实现。内容涵盖串口配置、协议帧结构、数据校验机制及ASCII协议实战代码,重点介绍了陶晶驰串口屏的指令集应用和调试技巧,为嵌入式开发提供可靠的串口通信解决方案。

h9j8k7l6m5n的博客 869

Python虚拟环境完全指南:pyenv vs venv 在macOS上的使用详解

在Python开发中,虚拟环境是管理项目依赖的重要工具。本文将详细比较`pyenv`创建的虚拟环境和`venv`创建的虚拟环境的区别,并手把手教你如何在macOS上使用`venv`创建、管理虚拟环境。

weixin_45927422的博客 805

告别死记硬背!用业务场景驱动理解SAP PS OPSA参数文件配置

本文通过制造业新产品研发项目案例,详细解析SAP PS模块中OPSA参数文件配置的实际应用。从项目立项、WBS分解到研发物料管理,系统讲解关键配置项的业务价值,帮助用户告别死记硬背,实现业务场景驱动的参数配置学习。特别适合制造业项目管理人员提升SAP PS配置效率。

weixin_30415113的博客 482

6层高速PCB设计实战:BGA布局与阻抗匹配关键解析

本文深入解析6层高速PCB设计中BGA布局与阻抗匹配的关键技术。通过实战经验分享,详细介绍了六层PCB层叠结构的选择与优化、BGA器件布局技巧、阻抗匹配的实战经验以及高速布线技巧,帮助工程师提升PCB设计水平,确保信号完整性和电源完整性。

weixin_28481133的博客 370

Python笔记10(virtualenv、图形界面)

14. virtualenv 虚拟环境 virtualenv为应用提供了隔离的Python运行环境,解决了不同应用间多版本的冲突问题。 pip安装到Python的第三方包都在site-package目录下。 一个项目(或应用)拥有一套"独立"的Python运行环境,virtualenv为一个应用创建一套"隔离"的Python运行环境。 安装virtualenv: pip install virtualenv 开发一个新项目的流程: 第一步:创建目录 mkdir myproject cd myproje

程序员五哥 515

MacBook上玩转国民技术N32G430:从零搭建ARM开发环境(VSCode + pyOCD)

本文详细介绍了在MacBook上搭建国民技术N32G430的ARM开发环境,涵盖VSCode配置、pyOCD调试及一键编译烧录全流程。通过Homebrew安装工具链、配置Python环境及VSCode插件,开发者可在MacOS高效开发嵌入式应用,特别适合国产芯片N32G430的开发者参考。

weixin_30614109的博客 437

Python 虚拟环境管理—— venv

本篇作为 Python 虚拟环境管理——conda 的续集,介绍一下另一个 Python 虚拟环境管理工具—— venv

即事多所欣 的博客 4349

点云体积计算方法之一 附python代码

另外需要注意,这个只适合点云密集分布的场景来计算体积,比如树木扫描的体积;如果只是有表面积扫描的点云,该方法就不能计算整个物体的体积了。通过计算点云所占用的体素的数量来计算点云的近似体积。这是一个非常粗略的近似值,对于复杂的形状可能不准确。

三维点云技术探索 1888

轮式并联五连杆下肢机器人运动控制:从建模到强化学习仿真训练

本文提出了一种基于强化学习的轮式并联五连杆下肢机器人运动控制方法。首先建立了机器人的运动学和动力学模型,推导了正逆解公式,并构建了URDF模型。随后在PyBullet仿真环境中搭建了包含复杂地形的训练场景,设计了基于PPO算法的端到端控制策略,包含状态空间、动作空间和奖励函数的详细设计。通过多组仿真实验验证了该方法在台阶攀爬等任务中的有效性,为轮腿机器人运动控制提供了完整的可复现技术方案。

huanghm88的专栏 351

Python虚拟环境指南(pipenv、venv(virtualenv )、conda)

随着大数据、人工智能的兴起,Python被带到了一个新的高度,但在使用Python过程中,很多人没搞清楚Python环境究竟是什么。当开发工程的时候,往往因为python环境的问题搞得一团糟。 本文旨在说清楚什么是Python环境,什么是Python虚拟环境,并希望通过本文的学习掌握常用的Python环境管理工具的使用。

tangyi2008的专栏 4555

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

深入浅出Python虚拟环境:venv的完全手册

Python的虚拟环境是一种轻量级的、独立的Python安装,可以在系统的不同部分同时存在多个虚拟环境,而互不干扰。venv是Python用于创建虚拟环境的标准库之一。自Python 3.3起,venv就已经成为了Python的一部分,因此,对于大多数现代Python安装来说,无需额外安装就可以使用venv。venv的核心功能是在一个目录中创建一个环境,该环境拥有自己的Python解释器、标准库以及各种安装脚本。

walkskyer的博客 8221

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

python虚拟环境pyenv,venv

venv是Python自带的虚拟环境管理工具,venv工具只能在Python 3.3及以上版本中使用。在Python 3.3之前,Python自带的虚拟环境管理工具是virtualenv。

m0_62808249的博客 4644

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python-Venv多环境管理

Python-Venv多环境管理

感谢所有乐于奉献的人,在此不一一具名 1570

python venv虚拟环境的使用

Python3.3以上的版本通过venv模块原生支持虚拟环境,可以代替Python之前的virtualenv。 该venv模块提供了创建轻量级“虚拟环境”,提供与系统Python的隔离支持。每一个虚拟环境都有其自己的Python二进制(允许有不同的Python版本创作环境),并且可以拥有自己独立的一套Python包。 需要注意的是,在Python3.3中使用"venv"命令创建的环境不包含"pip",你需要进行手动安装。在Python3.4中改进了这一个缺陷。 虚拟环境常用场景: 多人代码协作环境不一样导致

weixin_45314192的博客 2万+

Python中的venv虚拟环境详解

python的虚拟环境总有两款:anaconda和venv,anaconda是一个跨平台的python发行版,提供了用于科学计算和数据分析大量的库和工具,有着复杂的依赖项解析和环境管理能力,这个风云以后再单独详细介绍,今天主要讲python内置的venv。这就是虚拟环境和系统环境的存在关系,可以很清晰地看出,当虚拟环境01使用python3.8,而虚拟环境使用python3.12时,它们之间又有着各自不同的依赖库时,venv就可以将它们隔离开,保障依赖模块的一致性,实现应用稳定。

网络风云的博客 1万+

Conda对比Venv:谁是Python环境管理的王者?

Conda是一个开源的包管理器和环境管理系统,它不仅用于Python,还可用于安装、运行和更新其他语言的包,如R、Ruby等。Conda的一个显著优点是其跨平台性,可在Windows、macOS和Linux上运行。此外,Conda支持创建独立的环境,这些环境中的包和Python版本可以互不影响。这对于需要在不同项目中使用不同依赖或Python版本的开发者而言,是一个巨大的便利。Venv(虚拟环境)是Python的内置库,用于创建轻量级的“虚拟”环境。

walkskyer的博客 6019

Python虚拟环境创建以及激活(venv)

有两个项目A和B,如果A和B都要用到某一模块,但版本不相同怎么办?在使用pip安装包时,会发现在安装的时候会安装其它的依赖包,但当我们用pip移除一个包时,却只移除了指定的包为了解决上面的问题,python使用了虚拟环境这个概念,你可以认为是python环境的多个副本,只是在不同的副本中安装了不同的包。既然叫虚拟环境,总得有点不一样:虚拟环境中一般不包含标准库;不包含python解释器运行时所需的依赖文件;可执行文件全部放于Scripts目录等。想正经了解虚拟环境的可以看一下这位大佬的文章。

weixin_64591327的博客 1万+

python如何进入venv环境_Python的Virtualenv与Venv环境管理器

Python的Virtualenv与Venv环境管理器作者:尹正杰版权声明:原创作品,谢绝转载!否则将追究法律责任。一.Virtualenv环境管理器1>.Virtualenv概述如果你的操作系统使用的是原生python环境,也想要在本系统创建和运行多个Python独立环境(每个python环境都安装不同的包),可以使用py第三方库。Virtualenv的功能较Conda更加简陋和原始,其与...

weixin_39617318的博客 2362

python多环境管理(venv与virtualenv)

在python开发或者部署项目的时候,经常需要多个python版本共存,而这时,你将面临不同python版本的依赖冲突,与系统自带的python版本冲突导致系统工具不可用,以及各个项目需要的Python版本冲突等情况。 这里将为你介绍众多的工具,为你解决上述问题,实现python多环境隔离。

doublexi 4936
上一篇: 重新认识JVM的内存分布(JDK11 + G1垃圾收集器)
下一篇: 手撕 Agent 教程 - 打造一个轻量级个人智能助手
明月(Alioo)
博客等级 码龄18年 267粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明月(Alioo)

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值