news 2026/4/16 18:16:05

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/4/16 13:04:49

昇腾Atlas 800T平台下Qwen-14B大语言模型的SGLang适配与性能实测

目录 摘要 引言 一、GitCode Notebook 环境配置与 Qwen-14B 模型准备 1.1 环境规格确认 1.2 基础软件栈验证 1.3 SGLang环境配置与模型下载 二、SGLang与昇腾平台兼容性深度测试 三、Qwen-14B 性能基准测试与分析 3.1 测试框架设计 3.2 性能测试结果分析(…

作者头像 李华
网站建设 2026/4/16 12:53:01

3453453

11254345345

作者头像 李华
网站建设 2026/4/16 12:23:25

微信小程序vue_uniapp房屋租赁交易租房平台

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

作者头像 李华
网站建设 2026/4/16 12:28:22

微信小程序vue_uniapp的城市公交查询系统带失物招领

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

作者头像 李华
网站建设 2026/4/16 8:43:47

微信小程序uniapp-vue理发店美容预约

文章目录具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1万…

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

微信小程序uniapp-vue驾校教培-预约科目考试系统

文章目录 具体实现截图主要技术与实现手段系统设计与实现的思路系统设计方法java类核心代码部分展示结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 具体实现截图 本系统(程序源码数据库调试部署讲解)带文档1…

作者头像 李华