当前位置: 首页 > news >正文

python虚拟环境使用

文章目录

  • 一、问题导入
  • 二、虚拟环境
    • 2.1 工作原理
    • 2.2 常用工具
    • 2.3 创建虚拟环境
    • 2.4 其他常用命令
  • 三、最佳实践

一、问题导入


参考文档:https://docs.python.org/zh-cn/3/library/venv.html

在安装playwright和pyppetee模块时,出现pyee版本不匹配问题,如果要同时使用两者,最好使用虚拟环境隔离。

解决办法如下:

# 创建并激活虚拟环境
python -m venv playwright_env
source playwright_env/bin/activate  # Linux/macOS
playwright_env\Scripts\activate     # Windows

# 安装 playwright(依赖会自动匹配)
pip install playwright

二、虚拟环境

2.1 工作原理

虚拟环境主要基于路径隔离和环境变量配置。在创建虚拟环境时,会生成独立的目录结构;激活脚本会修改PATH,将虚拟环境的binScripts目录置于最前。
python解释器启动时会通过sys.prefix(虚拟环境目录)和sys.base_prefix区分环境(全局python)。

路径隔离bin目录存放Python 解释器副本(或软链接)
site-packages/存放项目所需的第三方库
环境激活脚本(如 activate
路径优先级激活虚拟环境后,系统会优先使用虚拟环境中的 Python 和库,而非全局环境。

2.2 常用工具


工具特点
venvPython 3.3+ 内置工具,轻量级,适合大多数场景
virtualenv更强大的第三方工具,支持 Python 2/3,功能比 venv 多(如更灵活的路径配置)
conda跨平台,适合科学计算和复杂依赖管理(需安装 Anaconda/Miniconda)
pipenv结合 pip 和虚拟环境管理,自动生成 Pipfile 依赖描述文件

2.3 创建虚拟环境

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰venv (Python 内置)▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

步骤 1:创建虚拟环境

# 格式:python -m venv <虚拟环境路径>
python -m venv my_project_env  # 创建一个名为 my_project_env 的虚拟环境

步骤 2:激活虚拟环境

在这里插入图片描述

激活后,命令行提示符会显示环境名称(如 (my_project_env)),表明已进入虚拟环境。

步骤 3:在虚拟环境中安装依赖

# 安装指定包(仅影响当前虚拟环境)
pip install playwright pyee==12.1.1

# 或根据 requirements.txt 安装
pip install -r requirements.txt

步骤 4:退出虚拟环境

deactivate

▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰virtualenv(第三方工具)▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰▰

步骤 1:安装 virtualenv

pip install virtualenv

步骤 2:创建并激活环境

virtualenv my_project_env  # 创建
source my_project_env/bin/activate  # 激活(Linux/macOS)
my_project_env\Scripts\activate     # 激活(Windows)

后续操作与 venv 一致。

2.4 其他常用命令


📖 删除环境:直接删除虚拟环境目录

rm -rf my_project_env  # Linux/macOS
rmdir /s my_project_env  # Windows

📖 查看环境

# Linux/macOS
ls ~/.virtualenvs    # 常见路径
ls */venv            # 项目内的环境

# Windows
dir C:\Users\ABC\venv

📖 查看虚拟环境路径

echo $VIRTUAL_ENV        # Linux/macOS
echo %VIRTUAL_ENV%       # Windows

三、最佳实践

(1) 每个项目独立环境:避免跨项目依赖冲突。

(2) 依赖版本固化:生成 requirements.txt,记录当前环境的依赖版本

pip freeze > requirements.txt

然后在新环境中恢复依赖:

pip install -r requirements.txt

(3) 不要提交虚拟环境到版本控制:在 .gitignore 中添加虚拟环境目录(如 my_project_env/)。

(4) 环境命名清晰:使用如 venv.venvproject_name_env 等名称,便于识别。

http://www.dtcms.com/a/99926.html

相关文章:

  • 1500 字节 MTU | 溯源 / 技术权衡 / 应用影响
  • 代码随想录刷题day56|(回溯算法篇)46.全排列(非去重)、47.全排列 II(去重)
  • UE4学习笔记 FPS游戏制作32 主菜单,暂停游戏,显示鼠标指针
  • 学习threejs,使用Sprite精灵、SpriteMaterial精灵材质
  • 前端全局编程和模块化编程
  • [笔记.AI]大模型训练 与 向量值 的关系
  • vue3 + ant-design-vue4实现Select既可以当输入框也可以实现下拉选择
  • sqli-labs学习记录8
  • Spring 项目中跨数据源(多数据源)调用时 @DS 注解失效或不生效
  • Nginx RTMP 接收模块分析 (ngx_rtmp_receive.c)
  • 【数学建模】(智能优化算法)元胞自动机在数学建模中的应用
  • 第十四节 MATLAB决策制定、MATLAB if 语句语法
  • MATLAB 控制系统设计与仿真 - 30
  • Java简单生成pdf
  • 在Wincc中使用Dapper读写数据库
  • Go/Python(Nuitka)/Rust/Zig 技术对比
  • 记一次关于云的渗透过程
  • Git配置
  • C# 的Lambda表达式‌常见用法和示例
  • C++中常见符合RAII思想的设计有哪些
  • c++使用iconv进行字符编码格式转换
  • 小红书多账号运营:如何实现每个账号独立 IP发布文章
  • ubuntu 安装 postgresql
  • Dubbo(23)如何配置Dubbo的服务消费者?
  • 蓝桥杯_DS18B20温度传感器
  • 【Java】Java核心知识点与相应面试技巧(六)——类与对象(一)
  • 什么是CMS?常用CMS有哪些?
  • Oracle数据库数据编程SQL<2.3 DML增、删、改及merge into>
  • 【学Rust写CAD】15 定点数实现(fixed.rs)
  • CSS中的em,rem,vm,vh详解