news 2026/6/15 17:18:35

python 创建虚拟环境到底在干啥?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python 创建虚拟环境到底在干啥?

python3 -m venv venv 是创建 Python 虚拟环境的命令,让我详细解释:

命令解析

python3 -m venv venv 由三部分组成:

  • python3 - 使用 Python 3 解释器
  • -m venv - 调用 venv 模块(Python 内置的虚拟环境工具)
  • venv - 虚拟环境的名字(你可以叫任何名字)

它创建了什么?

创建的目录结构

执行后会在当前目录下创建一个名为 venv 的文件夹:

mkdir my_python_project
cd my_python_project
python3 -m venv venv

创建的目录结构:
my_python_project/
└── venv/
├── bin/ # 可执行文件 (python, pip, activate 等)
│ ├── python # Python 解释器
│ ├── python3
│ ├── pip
│ ├── pip3
│ └── activate # 激活脚本
├── lib/ # Python 库文件
│ └── python3.x/
│ └── site-packages/ # 包的安装位置
├── include/ # 头文件
└── pyvenv.cfg # 虚拟环境配置文件

虚拟环境的作用

  1. 隔离依赖包

在虚拟环境中安装的包

source venv/bin/activate
pip install requests

这些包只在这个 venv 中可用

系统全局的 Python 环境不受影响

  1. 独立的 Python 解释器

检查虚拟环境中的 Python 位置

which python

输出: /root/my_python_project/venv/bin/python

检查版本

python --version

虚拟环境配置文件

pyvenv.cfg 内容示例:
home = /usr/bin
include-system-site-packages = false
version = 3.8.10
executable = /usr/bin/python3.8
command = /usr/bin/python3 -m venv venv

关键设置:

  • include-system-site-packages = false - 不包含系统全局包,完全隔离
  • home - 指向系统 Python 的位置
  • version - Python 版本

激活虚拟环境

source venv/bin/activate

激活后的变化:

  1. 命令行提示符变化
    (venv) root@server:/root/my_python_project#
  2. Python 路径变化
    which python

现在指向: /root/my_python_project/venv/bin/python

  1. 环境变量变化
    echo $VIRTUAL_ENV

输出: /root/my_python_project/venv

虚拟环境 vs 全局环境

全局环境(系统 Python):

退出虚拟环境

deactivate

pip install package # 安装到系统目录

系统所有用户/项目都能看到这个包

虚拟环境:

激活

source venv/bin/activate

pip install package # 只安装到这个 venv

其他项目不受影响

实际效果演示

1. 创建项目

mkdir test_project && cd test_project

2. 创建虚拟环境

python3 -m venv myenv

3. 激活虚拟环境

source myenv/bin/activate

4. 检查 Python 路径

which python

/root/test_project/myenv/bin/python

5. 安装一个包

pip install requests

6. 查看安装位置

pip show requests

Location: /root/test_project/myenv/lib/python3.x/site-packages

7. 退出虚拟环境

deactivate

8. 再次检查 Python 路径

which python

/usr/bin/python (回到系统 Python)

常用命令汇总

创建虚拟环境

python3 -m venv venv_name

激活虚拟环境

source venv_name/bin/activate

退出虚拟环境

deactivate

查看已安装的包

pip list

导出依赖列表

pip freeze > requirements.txt

从依赖列表安装

pip install -r requirements.txt

简单总结: 这个命令创建了一个独立的 Python 环境,让你的项目有自己的依赖包管理系统,不会与系统或其他项目冲突!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:39:59

医疗大模型LoRA微调实战:我用40行代码让AI学会看病

目录 🎯 摘要 一、技术原理:为什么LoRA是医疗AI的救命稻草? 1.1 架构设计理念:别动基座,只加"外挂" 1.2 核心算法实现:矩阵拆解的魔法 1.3 性能特性分析:数据不说谎 二、实战部…

作者头像 李华
网站建设 2026/6/15 14:37:00

句句都不黄,[特殊字符]句句都很撩(贼上头)

🍚 干饭要趁热,爱我要趁现在!🥤 想喝奶茶三分糖,想你甜度超标啦~🚶 别问我去哪,心早就跑你那儿啦!⏰ 闹钟叫不醒我,你一句想我就醒!💰…

作者头像 李华
网站建设 2026/6/15 13:47:36

【计算机毕业设计案例】基于SpringBoot + Vue的图书馆管理系统基于springboot的图书管理系统(程序+文档+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/15 14:39:49

昇思MindSpore引领AI框架迈入“超节点时代”

12月25日,2025昇思人工智能框架峰会在杭州国际博览中心召开,本次大会以“昇思MindSpore为超节点而生的AI框架 ”为主题,由昇思MindSpore开源社区、全球计算联盟GCC主办,华为技术有限公司和OSCHINA开源中国、AtomGit、Gitee、AITIS…

作者头像 李华
网站建设 2026/6/15 14:27:07

Java毕设选题推荐:基于java的个人健康管理系统的设计与实现健康记录、健康科普【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/6/15 9:30:52

会议精灵:用ModelEngine构建智能办公助手实战记录

摘要:本文记录了作者如何利用阿里云ModelEngine智能体和应用编排能力,开发了一款名为"会议精灵"的智能办公助手。从环境搭建、核心功能实现到工作流编排,全程手写代码,真实记录踩坑经历和解决方案。该应用可自动提取会议…

作者头像 李华