Python虚拟环境

本文最后更新于 2024年7月24日 晚上

在使用 Python 的时候,你会经常听到环境和虚拟环境这两个词,他们究竟是什么呢,该如何使用?

虚拟环境的概念

环境

在了解虚拟环境的概念之前,我们有必要了解一下普通的 Python 环境是什么,一般来说,在安装 Python 的时候,会安装一系列文件,这便是普通的 Python 环境。

以上只列出了安装 Python 时的主要文件

虚拟环境

那么虚拟环境就可以理解为将普通的环境拷贝一个副本,或者拷贝出多个副本

那么,这样做的目的是什么呢?

  1. 避免 Python 版本的冲突问题
  2. 避免 lib 库中的版本冲突问题

然后可以看到,虚拟环境与环境的主要区别在于:

  1. 文件夹名称的改变,一般称作 venv
  2. Lib 中只放置需要安装的第三方库的文件夹,而没有原来的标准库文件夹,虚拟环境中引用的标准库就是原来的标准库
  3. Python 解释器放置在了 Scripts 文件夹中

总的来说,就是为你的 Python 项目创建一个隔离的环境,避免受到不同版本的冲突影响

venv 的基本使用

一般来说,在 Python3 之后都是使用自带的库 venv 来创建虚拟环境,如果你是 Python2 的版本,那么就需要其他的第三方工具来实现。

首先打开终端,在你的 Python 项目中输入以下命令

1
2
3
4
5
PS D:\Code\Python\demo> pwd

Path
----
D:\Code\Python\demo

上面的命令展示了我将要在哪个地方创建我需要的虚拟环境

创建虚拟环境

如果你是 windows 系统,那么可以输入以下命令(Mac 或者 Linux 用户只需要将 Python 换成 Python3 即可)

1
PS D:\Code\Python\demo> python -m venv name

这将会在你的项目中创建一个名为 name 的文件夹,里面放置的就是你的虚拟环境。

1
2
3
4
5
6
7
8
9
10
PS D:\Code\Python\demo> ls


目录: D:\Code\Python\demo


Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2024/7/24 17:12 name
-a---- 2024/7/23 21:59 24 hello.py

激活虚拟环境

如果你是 windows 系统,输入以下命令来激活你的虚拟环境

1
PS D:\Code\Python\demo> name\Scripts\activate.bat

如果你是 Mac 或者 Linux 系统,可以这样输入

1
$source name/bin/activate

一旦激活环境,你可以看到这样的前缀表示激活成功

1
(name) D:\Code\Python\demo>

停止使用虚拟环境

停用虚拟环境的命令在 windows 和 mac 或者 linux 上是相同的

1
(name) D:\Code\Python\demo>deactivate

停用之后你可以发现前缀消失了

1
D:\Code\Python\demo>

安装 packages

和普通的环境一样,当你激活虚拟环境后,仍然可以使用虚拟环境中的 pip 来安装 packages。

1
2
3
4
5
6
7
(name) D:\Code\Python\demo>pip list
Package Version
------- -------
pip 24.0

[notice] A new release of pip is available: 24.0 -> 24.1.2
[notice] To update, run: python.exe -m pip install --upgrade pip

这里看到的各种 package 是虚拟环境中的,而不是全局环境中的

迁移虚拟环境

当我们想要分享自己的项目到 GitHub 时,我们需要告诉其他人这个项目需要安装哪一些 packages。这个时候就需要一个依赖项列表保存所用到的所有 packages。

创建依赖项列表

1
(name) D:\Code\Python\demo>pip freeze > requirements.txt

这个时候在你的项目根目录下将会产生一个新的名为 requirements.txt 的文件,里面包含了所有需要使用的 packages

下载依赖项列表

如果我们使用其他人的项目,需要配置好所有的 requirements.txt 中的 packages,就需要执行以下命令

1
D:\Code\Python\demo>pip install -r requirements.txt

IDE 中使用虚拟环境

在 IDE 中使用虚拟环境时,就不需要是先激活虚拟环境了,你所做的只需要找到你创建的虚拟环境文件夹中的 Scripts,它便可以自动匹配到这样的一个虚拟环境。

以 vscode 为例,你可以看到我只要选择的 Python 解释器是在虚拟环境中的,就会自动在项目里使用虚拟环境。

视频资料参考:

1-什么是虚拟环境_哔哩哔哩_bilibili

Python Virtual Environments - Full Tutorial for Beginners (youtube.com)


Python虚拟环境
http://example.com/2024/07/24/xunihuanjing/
作者
Coder7
发布于
2024年7月24日
许可协议