python 虚拟环境
一、虚拟环境介绍
先说什么是虚拟环境? 虚拟环境也是一个python解释器,比如你在电脑上装好一个python解释器之后,你就可以用python命令生成另一个python解释器(也就是个包含完整python解释器的目录,这个就叫虚拟环境了,怎么生成下面会介绍),这个虚拟环境和你装的python解释器完全没关系,可以随便拷贝给别人用。为什么需要虚拟环境?
比如我现在写一个脚本,用的python3.7版本,写好了之后我想给另一个人用,他电脑装的python3.6的版本,他要想运行我的脚本可能就会不兼容,还得装个3.7的,很不方便,这时如果我写脚本时用的是虚拟环境pyhton解释器,那我把脚本给别人用的时候就可以把我的虚拟环境一起拷贝给他,他就可以直接用了。就是这么方便。
再比如,新入职一家公司开发一个软件,你自己电脑装的python3.7的版本,人家项目用的python3.8的版本,那你怎么办,把3.7的卸载了安装3.8的,那你自己以前写的项目就无法运行了。这时候公司项目如果用的是虚拟环境的解释器,你直接把项目和虚拟环境一起克隆下来就可以了,直接跑起来,需要的第三方库也都在,nice,你不用把环境都再配一遍了,直接干活。
二、创建虚拟环境
1、创建虚拟环境,这将会在当前目录下创建名为"myenv"的虚拟环境文件夹。
python -m venv myenv
2、激活虚拟环境,根据操作系统不同,有两种方式来激活虚拟环境
.\myenv\Scripts\activate # windows 系统
source myenv/bin/activate #mac/linux系统
查看虚拟环境是否被激活有两种方式:
方式一:
使用命令行工具(如Windows系统的cmd或者Linux/MacOS系统的Terminal)进入到虚拟环境所对应的目录,
然后输入activate命令来激活该虚拟环境。若成功激活,则会显示类似于 (venv) 这样的提示符号;
若未能正确激活,则不会有任何变化。
方式二:
在Python交互模式下,可以直接导入 sys 库并打印其 prefix 属性值。如果返回了虚拟环境路径,那么说明虚拟环境已经激活。
import sys
print(sys.prefix)
3、退出虚拟环境
deactivate
在Python中创建虚拟环境后,虚拟环境和你自定义包(或者任何第三方库)的目录层级关系通常是这样的(当然虚拟环境的目录可以随便放,这里只是建议):
项目根目录/
├── my_project/ # 你的项目文件夹
│ ├── __init__.py # 如果是包,则包含此文件
│ ├── main.py # 示例主程序文件
│ └── other_files...
├── .venv/ # 虚拟环境目录(Windows下可能显示为 `.env` 或 `myenv` 等)
│ ├── bin/ # 包含Python解释器、pip等工具
│ ├── include/ # C头文件
│ └── lib/ # Python库文件(包括标准库和其他安装在此环境中的第三方包)
├── requirements.txt # 可选,用于记录项目依赖的包列表
└── setup.py # 可选,如果你的项目是一个可发布的包,需要这个文件来定义安装和打包信息
通过这种方式,虚拟环境与项目的其他部分保持了分离,使得每个项目可以独立管理自己的依赖包,
避免不同项目间因为共享全局Python环境而导致的版本冲突问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix